home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 16 / CU Amiga Magazine's Super CD-ROM 16 (1997-10-16)(EMAP Images)(GB)[!][issue 1997-11].iso / CUCD / Graphics / Ghostscript / source / vms.mak < prev    next >
Text File  |  1997-08-08  |  62KB  |  2,217 lines

  1. $ ! Copyright (C) 1997 Aladdin Enterprises.
  2. $ ! All rights reserved.
  3. $ !
  4. $ ! This file is part of Aladdin Ghostscript.
  5. $ !
  6. $ ! Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  7. $ ! or distributor accepts any responsibility for the consequences of using it,
  8. $ ! or for whether it serves any particular purpose or works at all, unless he
  9. $ ! or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  10. $ ! License (the "License") for full details.
  11. $ !
  12. $ ! Every copy of Aladdin Ghostscript must include a copy of the License,
  13. $ ! normally in a plain ASCII text file named PUBLIC.  The License grants you
  14. $ ! the right to copy, modify and redistribute Aladdin Ghostscript, but only
  15. $ ! under certain conditions described in the License.  Among other things, the
  16. $ ! License requires that the copyright notice and this notice be preserved on
  17. $ ! all copies.
  18. $ !
  19. $ !
  20. $ ! VMS "makefile" for Ghostscript.
  21. $ !
  22. $ WSO = "WRITE SYS$OUTPUT"
  23. $ ON ERROR THEN GOTO DONE
  24. $ ON CONTROL_Y THEN GOTO DONE
  25. $ !
  26. $ ! Version numbers.
  27. $ ! MINOR0 is different from MINOR only if MINOR is a single digit.
  28. $ !
  29. $ GS_VERSION_MAJOR = "5"
  30. $ GS_VERSION_MINOR = "03"
  31. $ GS_VERSION_MINOR0 = "03"
  32. $ ! Revision date: year x 10000 + month x 100 + day.
  33. $ GS_REVISIONDATE  = "19970808"
  34. $ ! Derived values
  35. $ GS_VERSION       = GS_VERSION_MAJOR + GS_VERSION_MINOR0
  36. $ GS_DOT_VERSION   = GS_VERSION_MAJOR + "." + GS_VERSION_MINOR
  37. $ GS_REVISION      = GS_VERSION
  38. $ JSRCDIR = "[.jpeg-6a]"
  39. $ JVERSION = 6
  40. $!!! PSRCDIR = "[.libpng-0_89c]"
  41. $!!! PVERSION = 89
  42. $ PSRCDIR = "[.libpng-0_96]"
  43. $ PVERSION = 96
  44. $ ZSRCDIR = "[.zlib-1_0_4]"
  45. $
  46. $ !
  47. $ ! Check input parameters
  48. $ !
  49. $ IF P1 .NES. "" .AND. P1 .NES. "DEBUG" .AND. P1 .NES. "LINK" .AND. -
  50.    P1 .NES. "BUILD" .AND. F$EXTRACT(0,5,P1) .NES. "FROM=" THEN -
  51.    GS_LIB_DEFAULT = P1
  52. $ IF P2 .NES. "" .AND. P2 .NES. "DEBUG" .AND. P2 .NES. "LINK" .AND. -
  53.    P2 .NES. "BUILD" .AND. F$EXTRACT(0,5,P2) .NES. "FROM=" THEN -
  54.    GS_LIB_DEFAULT = P2
  55. $ !
  56. $ IF P1 .NES. "DEBUG" .AND. P2 .NES. "DEBUG" THEN GOTO NODEBUG
  57. $ CC_QUAL = CC_QUAL + "/NOOPT/DEBUG"
  58. $ IF CC_DEF .NES. "" THEN CC_DEF= CC_DEF + ","
  59. $ CC_DEF= CC_DEF + "DEBUG"
  60. $ L_QUAL  = (L_QUAL-"/NOTRACEBACK") + "/DEBUG"
  61. $ !
  62. $ NODEBUG:
  63. $ IF CC_DEF .NES. "" THEN CC_QUAL= CC_QUAL + "/DEFINE=(" + CC_DEF + ")"
  64. $ If P1 .EQS. "LINK" .OR. P2 .EQS. "LINK" THEN GOTO LINK_ONLY
  65. $ If P1 .EQS. "BUILD" .OR. P2 .EQS. "BUILD" THEN GOTO BUILD_EXES
  66. $ FROM = ""
  67. $ IF F$EXTRACT(0,5,P1) .EQS. "FROM=" THEN FROM = F$EXTRACT(5,F$LENGTH(P1)-5,P1)
  68. $ IF F$EXTRACT(0,5,P2) .EQS. "FROM=" THEN FROM = F$EXTRACT(5,F$LENGTH(P2)-5,P2)
  69. $ INSREP = "INSERT"
  70. $ IF FROM .NES. "" THEN INSREP = "REPLACE"
  71. $ !
  72. $ !
  73. $ ! Compile and link genarch.c and then run it to create the arch.h header file
  74. $ !
  75. $ WSO "''CC_COMMAND'''CC_QUAL'/NOLIST/OBJECT=GENARCH.OBJ GENARCH.C"
  76. $ 'CC_COMMAND''CC_QUAL'/NOLIST/OBJECT=GENARCH.OBJ GENARCH.C
  77. $ LINK/NOMAP/EXE=GENARCH.EXE GENARCH.OBJ,RTL.OPT/OPT
  78. $ GENARCH = "$" + F$ENVIRONMENT("DEFAULT") + "GENARCH.EXE"
  79. $ GENARCH ARCH.H
  80. $ DELETE GENARCH.EXE.*,GENARCH.OBJ.*
  81. $ PURGE ARCH.H
  82. $ !
  83. $ !
  84. $ ! Compile and link echogs.c; define ECHOGS as a command
  85. $ !
  86. $ WSO "''CC_COMMAND'''CC_QUAL'/NOLIST/OBJECT=ECHOGS.OBJ ECHOGS.C"
  87. $ 'CC_COMMAND''CC_QUAL'/NOLIST/OBJECT=ECHOGS.OBJ ECHOGS.C
  88. $ LINK/NOMAP/EXE=ECHOGS.EXE ECHOGS.OBJ,RTL.OPT/OPT
  89. $ ECHOGS = "$" + F$ENVIRONMENT("DEFAULT") + "ECHOGS.EXE"
  90. $ DELETE ECHOGS.OBJ;*
  91. $ PURGE ECHOGS.EXE
  92. $ !
  93. $ !
  94. $ ! Compile and link genconf.c; define GENCONF as a command
  95. $ !
  96. $ WSO "''CC_COMMAND'''CC_QUAL/NOLIST/OBJECT=GENCONF.OBJ GENCONF.C"
  97. $ 'CC_COMMAND''CC_QUAL'/NOLIST/OBJECT=GENCONF.OBJ GENCONF.C
  98. $ LINK/NOMAP/EXE=GENCONF.EXE GENCONF.OBJ,RTL.OPT/OPT
  99. $ GENCONF = "$" + F$ENVIRONMENT("DEFAULT") + "GENCONF.EXE"
  100. $ DELETE GENCONF.OBJ;*
  101. $ PURGE GENCONF.EXE
  102. $ !
  103. $ !
  104. $ ! Create GSSETDEV.COM, GSSETMOD.COM, and GSADDMOD.COM.
  105. $ ! (These aren't distributed with the fileset because the .COM suffix
  106. $ ! causes certain development tools to treat them incorrectly.)
  107. $ !
  108. $ !
  109. $ OPEN/WRITE SETDEV GSSETDEV.COM
  110. $   WRITE SETDEV "$ echogs -w 'p1'.dev - -dev 'p1' -obj 'p2 'p3 'p4 'p5 'p6 'p7 'p8"
  111. $ CLOSE SETDEV
  112. $ !
  113. $ OPEN/WRITE SETMOD GSSETMOD.COM
  114. $   WRITE SETMOD "$ if p2 .nes. """""
  115. $   WRITE SETMOD "$ then"
  116. $   WRITE SETMOD "$   echogs -w 'p1'.dev - 'p2 'p3 'p4 'p5 'p6 'p7 'p8"
  117. $   WRITE SETMOD "$ else"
  118. $   WRITE SETMOD "$   echogs -w 'p1'.dev"
  119. $   WRITE SETMOD "$ endif"
  120. $ CLOSE SETMOD
  121. $ !
  122. $ OPEN/WRITE ADDMOD GSADDMOD.COM
  123. $   WRITE ADDMOD "$ if (p2 .nes. """") then echogs -a 'p1'.dev - 'p2 'p3 'p4 'p5 'p6 'p7 'p8"
  124. $ CLOSE ADDMOD
  125. $ !
  126. $ !
  127. $ ! Define SETDEV, SETMOD, ADDMOD as commands to execute GSSETDEV.COM,
  128. $ ! GSSETMOD.COM and GSADDMOD.COM respectively.  Those three command
  129. $ ! procedures make use of ECHOGS.EXE and the ECHOGS verb.
  130. $ !
  131. $ SETDEV = "@GSSETDEV.COM"
  132. $ SETMOD = "@GSSETMOD.COM"
  133. $ ADDMOD = "@GSADDMOD.COM"
  134. $ !
  135. $ !
  136. $ ! Build GCONFIG_.H
  137. $ !
  138. $ ECHOGS -w gconfig_.h #define HAVE_SYS_TIME_H
  139. $ !
  140. $ ! Build GCONFIGV.H
  141. $ !
  142. $ ECHOGS -w gconfigv.h #define USE_ASM 0
  143. $ ECHOGS -a gconfigv.h #define USE_FPU 1
  144. $ ECHOGS -a gconfigv.h #define EXTEND_NAMES 0
  145. $ !
  146. $ ! Now generate *.dev files
  147. $ !
  148. $ DEV_LIST_NAMES = "FEATURE_DEVS DEVICE_DEVS DEVICE_DEVS1 DEVICE_DEVS2 DEVICE_DEVS3 DEVICE_DEVS4 DEVICE_DEVS5 DEVICE_DEVS6 DEVICE_DEVS7 DEVICE_DEVS8 DEVICE_DEVS9 DEVICE_DEVS10 DEVICE_DEVS11 DEVICE_DEVS12 DEVICE_DEVS13 DEVICE_DEVS14 DEVICE_DEVS15"
  149. $ NDEV_MOD = 0
  150. $ DEV_MODULES = " "
  151. $ I = 0
  152. $ ON WARNING THEN GOTO NO_ACTION
  153. $ DEVS_OUTER:
  154. $   DEV_LIST = F$ELEMENT(I," ",DEV_LIST_NAMES)
  155. $   IF DEV_LIST .EQS. " " THEN GOTO DEVS_DONE
  156. $   I = I+1
  157. $   IF F$TYPE('DEV_LIST') .EQS. "" THEN GOTO DEVS_OUTER
  158. $   IF F$EDIT('DEV_LIST',"COLLAPSE") .EQS. "" THEN GOTO DEVS_OUTER
  159. $   J = 0
  160. $   DEVS_INNER:
  161. $     ACTION = F$ELEMENT(J," ",'DEV_LIST')
  162. $     IF ACTION .EQS. " " THEN GOTO DEVS_OUTER
  163. $     J = J+1
  164. $     ! Replace "." with "_"
  165. $     IF F$LOCATE(".",ACTION) .NE. F$LENGTH(ACTION) THEN -
  166. $       ACTION = F$ELEMENT(0,".",ACTION) + "_" + F$ELEMENT(1,".",ACTION)
  167. $     GOSUB 'ACTION'
  168. $   GOTO DEVS_INNER
  169. $ !
  170. $ DEVS_DONE:
  171. $ ON WARNING THEN CONTINUE
  172. $ !
  173. $ !
  174. $ ! And now build gconfig.h and gconfigf.h
  175. $ !
  176. $ GOSUB GCONFIG_H
  177. $ GOSUB GCONFIGF_H
  178. $ !
  179. $ DEV_MODULES = F$EDIT(DEV_MODULES,"TRIM")
  180. $ DEV_MODULES'NDEV_MOD' = F$EDIT(DEV_MODULES,"COMPRESS")
  181. $ IF F$LENGTH(DEV_MODULES'NDEV_MOD') .EQ. 0 THEN NDEV_MOD = NDEV_MOD - 1
  182. $ !
  183. $ ! Create an empty object library if compilation is started from the beginning.
  184. $ !
  185. $ IF FROM .EQS. "" THEN LIBRARY/CREATE GS.OLB
  186. $ !
  187. $ ! Now compile device modules found in the DEV_MODULES symbols
  188. $ !
  189. $ DEFDIR = F$PARSE(F$ENVIRONMENT("DEFAULT"),,,"DIRECTORY","SYNTAX_ONLY")
  190. $ OPEN/WRITE OPT_FILE GS.OPT
  191. $ OPT_LINE = "GS.OLB/LIBRARY/INCLUDE=("
  192. $ COMMA = ""
  193. $ !
  194. $ I = 0
  195. $ IDEV = 0
  196. $ OUTER_DEV_LOOP:
  197. $ DEV_MODULES = F$EDIT(DEV_MODULES'IDEV',"TRIM")
  198. $ COMPILE_LOOP:
  199. $   MODULE = F$ELEMENT(I," ",DEV_MODULES)
  200. $   IF MODULE .EQS. " " THEN GOTO END_COMPILE
  201. $   I = I + 1
  202. $   NAME = F$PARSE(MODULE,,,"NAME","SYNTAX_ONLY")
  203. $   IF NAME .EQS. FROM THEN FROM= ""
  204. $   IF FROM .NES. "" THEN GOTO MOD_COMPILED
  205. $   DIR  = F$PARSE(MODULE,,,"DIRECTORY","SYNTAX_ONLY") - DEFDIR
  206. $   IF DIR .NES. ""
  207. $   THEN
  208. $     COPY 'MODULE'.C []
  209. $     INC = "/INCLUDE=(''DEFDIR',''DIR')"
  210. $   ELSE
  211. $     INC = ""
  212. $   ENDIF
  213. $   WSO "''CC_COMMAND'''CC_QUAL'''INC'/NOLIST/OBJECT=''NAME'.OBJ ''MODULE'.C"
  214. $   'CC_COMMAND''CC_QUAL''INC'/NOLIST/OBJECT='NAME'.OBJ 'NAME'.C
  215. $   LIBRARY/'INSREP' GS.OLB 'NAME'.OBJ
  216. $   DELETE 'NAME'.OBJ.*
  217. $   IF DIR .NES. "" THEN DELETE 'NAME'.C;
  218. $ MOD_COMPILED:
  219. $   IF F$LENGTH(OPT_LINE) .GE. 70
  220. $   THEN
  221. $     OPT_LINE = OPT_LINE + COMMA + "-"
  222. $     WRITE OPT_FILE OPT_LINE
  223. $     OPT_LINE = NAME
  224. $   ELSE
  225. $     OPT_LINE = OPT_LINE + COMMA + NAME
  226. $   ENDIF
  227. $   COMMA = ","
  228. $ GOTO COMPILE_LOOP
  229. $ !
  230. $ END_COMPILE:
  231. $ I = 0
  232. $ IDEV = IDEV + 1
  233. $ IF IDEV .LE. NDEV_MOD THEN GOTO OUTER_DEV_LOOP
  234. $ !
  235. $ OPT_LINE = OPT_LINE + ")"
  236. $ WRITE OPT_FILE OPT_LINE
  237. $ IF F$SEARCH("SYS$SHARE:DECW$XMLIBSHR12.EXE") .NES. ""
  238. $ THEN
  239. $   WRITE OPT_FILE "SYS$SHARE:DECW$XMLIBSHR12.EXE/SHARE"
  240. $   WRITE OPT_FILE "SYS$SHARE:DECW$XTLIBSHRR5.EXE/SHARE"
  241. $   WRITE OPT_FILE "SYS$SHARE:DECW$XLIBSHR.EXE/SHARE"
  242. $ ELSE
  243. $   WRITE OPT_FILE "SYS$SHARE:DECW$XMLIBSHR.EXE/SHARE"
  244. $   WRITE OPT_FILE "SYS$SHARE:DECW$XTSHR.EXE/SHARE"
  245. $   WRITE OPT_FILE "SYS$SHARE:DECW$XLIBSHR.EXE/SHARE"
  246. $ ENDIF
  247. $ WRITE OPT_FILE "Ident=""gs ''GS_DOT_VERSION'"""
  248. $ CLOSE OPT_FILE
  249. $ !
  250. $ !
  251. $ ! Is the DECwindows environment about?  Must be installed in order to
  252. $ ! build the executable program gs.exe.
  253. $ !
  254. $ IF F$SEARCH("SYS$SHARE:DECW$XLIBSHR.EXE") .NES. "" THEN GOTO CHECK2
  255. $ WSO "DECwindows user environment not installed;"
  256. $ WSO "unable to build executable programs."
  257. $ GOTO DONE
  258. $ !
  259. $ CHECK2:
  260. $ IF F$TRNLNM("DECW$INCLUDE") .NES. "" THEN GOTO BUILD_EXES
  261. $ WSO "You must invoke @DECW$STARTUP before using this"
  262. $ WSO "command procedure to build the executable programs."
  263. $ GOTO DONE
  264. $ !
  265. $ ! Build the executables
  266. $ !
  267. $ BUILD_EXES:
  268. $ !
  269. $ DEFINE X11 DECW$INCLUDE
  270. $ !
  271. $ LINK_ONLY:
  272. $ WSO "''CC_COMMAND'''CC_QUAL'/NOLIST/OBJECT=GCONFIG.OBJ GCONF.C"
  273. $ 'CC_COMMAND''CC_QUAL/NOLIST/OBJECT=GCONFIG.OBJ GCONF.C
  274. $ !
  275. $ WSO "''CC_COMMAND'''CC_QUAL'/NOLIST/OBJECT=ICONFIG.OBJ ICONF.C"
  276. $ 'CC_COMMAND''CC_QUAL/NOLIST/OBJECT=ICONFIG.OBJ ICONF.C
  277. $ !
  278. $ WSO "''CC_COMMAND'''CC_QUAL'/NOLIST/OBJECT=ICCINIT0.OBJ ICCINIT0.C"
  279. $ 'CC_COMMAND''CC_QUAL/NOLIST/OBJECT=ICCINIT0.OBJ ICCINIT0.C
  280. $ !
  281. $ WSO "''CC_COMMAND'''CC_QUAL'/NOLIST/OBJECT=GSCDEFS.OBJ GSCDEF.C"
  282. $ 'CC_COMMAND''CC_QUAL/NOLIST/OBJECT=GSCDEFS.OBJ GSCDEF.C
  283. $ !
  284. $ WSO "''CC_COMMAND'''CC_QUAL'/NOLIST/OBJECT=GS.OBJ GS.C"
  285. $ 'CC_COMMAND''CC_QUAL/NOLIST/OBJECT=GS.OBJ GS.C
  286. $ !
  287. $ WSO "Linking ... "
  288. $ WSO "LINK''L_QUAL'/NOMAP/EXE=GS.EXE GS,GCONFIG,ICONFIG,ICCINIT0,GSCDEFS,GS.OPT/OPT"
  289. $ LINK'L_QUAL/NOMAP/EXE=GS.EXE GS,GCONFIG,ICONFIG,ICCINIT0,GSCDEFS,GS.OPT/OPT
  290. $ !
  291. $ IF P1 .EQS. "LINK" THEN GOTO AFTER_DEL
  292. $ DELETE GS.OBJ.*,GCONFIG.OBJ.*,ICONFIG.OBJ.*,ICCINIT0.OBJ.*,GSCDEFS.OBJ.*
  293. $ !
  294. $ GOTO DONE
  295. $ !
  296. $ !
  297. $ DEVS_TR:
  298. $ ! quote the dashes so that they are not interpreted as continuation
  299. $ ! marks when the following DCL symbol is not defined!
  300. $   ECHOGS -w devs.tr "-" -include vms_.dev
  301. $   ECHOGS -a devs.tr "-" 'FEATURE_DEVS'
  302. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS'
  303. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS1'
  304. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS2'
  305. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS3'
  306. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS4'
  307. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS5'
  308. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS6'
  309. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS7'
  310. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS8'
  311. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS9'
  312. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS10'
  313. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS11'
  314. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS12'
  315. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS13'
  316. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS14'
  317. $   ECHOGS -a devs.tr "-" 'DEVICE_DEVS15'
  318. $   RETURN
  319. $ !
  320. $ GCONFIG_H:
  321. $   GOSUB DEVS_TR
  322. $   GOSUB VMS_DEV
  323. $   GOSUB LIBCORE_DEV
  324. $   GENCONF "devs.tr" libcore.dev -h gconfig.h
  325. $   ECHOGS -a gconfig.h "#define GS_LIB_DEFAULT ""''GS_LIB_DEFAULT'"""
  326. $   ECHOGS -a gconfig.h "#define SEARCH_HERE_FIRST ''SEARCH_HERE_FIRST'"
  327. $   ECHOGS -a gconfig.h "#define GS_DOCDIR ""''GS_DOCDIR'"""
  328. $   ECHOGS -a gconfig.h "#define GS_INIT ""''GS_INIT'"""
  329. $   ECHOGS -a gconfig.h "#define GS_REVISION ''GS_REVISION'"
  330. $   ECHOGS -a gconfig.h "#define GS_REVISIONDATE ''GS_REVISIONDATE'"
  331. $   RETURN
  332. $ !
  333. $ BBOX_DEV:
  334. $   SETMOD bbox "gdevbbox.obj"
  335. $   ADD_DEV_MODULES = "gdevbbox.obj"
  336. $   GOSUB ADD_DEV_MOD
  337. $   RETURN
  338. $ !
  339. $! The render/RGB device is only here as an example, but we can configure
  340. $! it as a real device for testing.
  341. $ RRGB_DEV:
  342. $   SETDEV rrgb "gdevrrgb.obj"
  343. $   ADD_DEV_MODULES = "gdevrrgb.obj gdevprn.obj"
  344. $   GOSUB ADD_DEV_MOD
  345. $   RETURN
  346. $ !
  347. $ LIBS_DEV:
  348. $   LIB1s = "gsalloc.obj gsbitops.obj gsbittab.obj"
  349. $   LIB2s = "gschar.obj gscolor.obj gscoord.obj gsdevice.obj gsdevmem.obj"
  350. $   LIB3s = "gsdparam.obj gsfont.obj gsht.obj gshtscr.obj"
  351. $   LIB4s = "gsimage.obj gsimpath.obj gsinit.obj gsiodev.obj"
  352. $   LIB5s = "gsline.obj gsmatrix.obj gsmemory.obj gsmisc.obj"
  353. $   LIB6s = "gspaint.obj gsparam.obj gspath.obj gsstate.obj gsutil.obj"
  354. $   LIBs  = "''LIB1s' ''LIB2s' ''LIB3s' ''LIB4s' ''LIB5s' ''LIB6s'"
  355. $   echogs -w libs.dev 'LIB1s'
  356. $   echogs -a libs.dev 'LIB2s'
  357. $   echogs -a libs.dev 'LIB3s'
  358. $   echogs -a libs.dev 'LIB4s'
  359. $   echogs -a libs.dev 'LIB5s'
  360. $   echogs -a libs.dev 'LIB6s'
  361. $   ADDMOD libs -init gscolor
  362. $   ADD_DEV_MODULES = "''LIBs'"
  363. $   GOSUB ADD_DEV_MOD
  364. $   RETURN
  365. $ !
  366. $ LIBX_DEV:
  367. $   LIB1x = "gxacpath.obj gxbcache.obj"
  368. $   LIB2x = "gxccache.obj gxccman.obj gxcht.obj gxcmap.obj gxcpath.obj"
  369. $   LIB3x = "gxdcconv.obj gxdcolor.obj gxdither.obj gxfill.obj gxht.obj"
  370. $   LIB4x = "gximage.obj gximage0.obj gximage1.obj gximage2.obj"
  371. $   LIB5x = "gxpaint.obj gxpath.obj gxpath2.obj gxpcopy.obj"
  372. $   LIB6x = "gxpdash.obj gxpflat.obj gxsample.obj gxstroke.obj"
  373. $   LIBx  = "''LIB1x' ''LIB2x' ''LIB3x' ''LIB4x' ''LIB5x' ''LIB6x'"
  374. $   echogs -w libx.dev 'LIB1x'
  375. $   echogs -a libx.dev 'LIB2x'
  376. $   echogs -a libx.dev 'LIB3x'
  377. $   echogs -a libx.dev 'LIB4x'
  378. $   echogs -a libx.dev 'LIB5x'
  379. $   echogs -a libx.dev 'LIB6x'
  380. $   addmod libx -init gximage1 gximage2
  381. $   ADD_DEV_MODULES = "''LIBx'"
  382. $   GOSUB ADD_DEV_MOD
  383. $   RETURN
  384. $ !
  385. $ LIBD_DEV:
  386. $   LIB1d = "gdevabuf.obj gdevddrw.obj gdevdflt.obj gdevnfwd.obj"
  387. $   LIB2d = "gdevmem.obj gdevm1.obj gdevm2.obj gdevm4.obj gdevm8.obj"
  388. $   LIB3d = "gdevm16.obj gdevm24.obj gdevm32.obj gdevmpla.obj"
  389. $   LIBd  = "''LIB1d' ''LIB2d' ''LIB3d'"
  390. $   echogs -w libd.dev 'LIB1d'
  391. $   echogs -a libd.dev 'LIB2d'
  392. $   echogs -a libd.dev 'LIB3d'
  393. $   ADD_DEV_MODULES = "''LIBd'"
  394. $   GOSUB ADD_DEV_MOD
  395. $   RETURN
  396. $ !
  397. $ LIBCORE_DEV:
  398. $   GOSUB LIBS_DEV
  399. $   GOSUB LIBX_DEV
  400. $   GOSUB LIBD_DEV
  401. $   GOSUB ISCALE_DEV
  402. $   GOSUB ROPLIB_DEV
  403. $   SETMOD libcore
  404. $   ADDMOD libcore -dev nullpage
  405. $   ADDMOD libcore -include libs libx libd iscale roplib
  406. $   RETURN
  407. $ !
  408. $! ---------------- File streams ---------------- #
  409. $ SFILE_DEV:
  410. $   sfile_="sfx''FILE_IMPLEMENTATION'.obj"
  411. $   SETMOD sfile "''sfile_'"
  412. $   ADD_DEV_MODULES = "''sfile_'"
  413. $   GOSUB ADD_DEV_MOD
  414. $   RETURN
  415. $ !
  416. $ CFE_DEV:
  417. $   IF F$TYPE(cfe_) .NES. "" THEN RETURN
  418. $   cfe_ = "scfe.obj scfetab.obj shc.obj"
  419. $   SETMOD cfe 'cfe_'
  420. $   ADD_DEV_MODULES = "''cfe_'"
  421. $   GOSUB ADD_DEV_MOD
  422. $   RETURN
  423. $ !
  424. $ CFD_DEV:
  425. $   IF F$TYPE(cfd_) .NES. "" THEN RETURN
  426. $   cfd_ = "scfd.obj scfdtab.obj"
  427. $   SETMOD cfd 'cfd_'
  428. $   ADD_DEV_MODULES = "''cfd_'"
  429. $   GOSUB ADD_DEV_MOD
  430. $   RETURN
  431. $ !
  432. $! ---------------- DCT (JPEG) filters ---------------- #
  433. $! These are used by Level 2, and by the JPEG-writing driver.
  434. $! Encoding (compression)
  435. $ SDCTE_DEV: 
  436. $   IF F$TYPE(sdcte_) .NES. "" THEN RETURN
  437. $   sdcte_ = "sdctc.obj sjpegc.obj sdcte.obj sjpege.obj"
  438. $   GOSUB JPEGE_DEV
  439. $   SETMOD sdcte 'sdcte_'
  440. $   ADDMOD sdcte -include jpege
  441. $   ADD_DEV_MODULES = "''sdcte_'"
  442. $   GOSUB ADD_DEV_MOD
  443. $   RETURN
  444. $ !
  445. $! Decoding (decompression)
  446. $ SDCTD_DEV:
  447. $   IF F$TYPE(sdctd_) .NES. "" THEN RETURN
  448. $   sdctd_="sdctc.obj sjpegc.obj sdctd.obj sjpegd.obj"
  449. $   GOSUB JPEGD_DEV
  450. $   SETMOD sdctd 'sdctd_'
  451. $   ADDMOD sdctd -include jpegd
  452. $   ADD_DEV_MODULES = "''sdctd_'"
  453. $   GOSUB ADD_DEV_MOD
  454. $   RETURN
  455. $ !
  456. $! ---------------- LZW filters ---------------- #
  457. $! These are used by Level 2 in general.
  458. $ LZWE_DEV:
  459. $   IF F$TYPE(lzwe_) .NES. "" THEN RETURN
  460. $   lzwe_ = "slzwce.obj slzwc.obj"
  461. $   SETMOD lzwe 'lzwe_'
  462. $   ADD_DEV_MODULES = "''lzwe_'"
  463. $   GOSUB ADD_DEV_MOD
  464. $   RETURN
  465. $ !
  466. $ SLZWE_DEV:
  467. $   COPY LZWE.DEV SLZWE.DEV
  468. $   RETURN
  469. $ !
  470. $ LZWD_DEV:
  471. $   IF F$TYPE(lzwd_) .NES. "" THEN RETURN
  472. $   lzwd_ = "slzwd.obj slzwc.obj"
  473. $   SETMOD lzwd 'lzwd_'
  474. $   ADD_DEV_MODULES = "''lzwd_'"
  475. $   GOSUB ADD_DEV_MOD
  476. $   RETURN
  477. $ !
  478. $ SLZWD_DEV:
  479. $   COPY LZWD.DEV SLZWD.DEV
  480. $   RETURN
  481. $ !
  482. $ PCXD_DEV:
  483. $   pcxd_ = "spcxd.obj"
  484. $   SETMOD pcxd 'pcxd_'
  485. $   ADD_DEV_MODULES = "''pcxd_'"
  486. $   GOSUB ADD_DEV_MOD
  487. $   RETURN
  488. $ !
  489. $ PDIFF_DEV:
  490. $   pdiff_  = "spdiff.obj"
  491. $   SETMOD pdiff 'pdiff_'
  492. $   ADD_DEV_MODULES = "''pdiff_'"
  493. $   GOSUB ADD_DEV_MOD
  494. $   RETURN
  495. $ !
  496. $ PNGP_DEV:
  497. $   pngp_ = "spngp.obj"
  498. $   SETMOD pngp 'pngp_'
  499. $   ADD_DEV_MODULES = "''pngp_'"
  500. $   GOSUB ADD_DEV_MOD
  501. $   RETURN
  502. $ !
  503. $ RLE_DEV:
  504. $   IF F$TYPE(rle_) .NES. "" THEN RETURN
  505. $   rle_ = "srle.obj"
  506. $   SETMOD rle 'rle_'
  507. $   ADD_DEV_MODULES = "''rle_'"
  508. $   GOSUB ADD_DEV_MOD
  509. $   RETURN
  510. $ !
  511. $ RLD_DEV:
  512. $   IF F$TYPE(rld_) .NES. "" THEN RETURN
  513. $   rld_ = "srld.obj"
  514. $   SETMOD rld 'rld_'
  515. $   ADD_DEV_MODULES = "''rld_'"
  516. $   GOSUB ADD_DEV_MOD
  517. $   RETURN
  518. $ !
  519. $ SZLIBE_DEV:
  520. $   IF F$TYPE(szlibe_) .NES. "" THEN RETURN
  521. $   szlibe_ = "szlibc.obj szlibe.obj"
  522. $   GOSUB ZLIBE_DEV
  523. $   SETMOD szlibe 'szlibe_'
  524. $   ADDMOD szlibe -include zlibe
  525. $   ADD_DEV_MODULES = "''szlibe_'"
  526. $   GOSUB ADD_DEV_MOD
  527. $   RETURN
  528. $ !
  529. $ SZLIBD_DEV:
  530. $   IF F$TYPE(szlibd_) .NES. "" THEN RETURN
  531. $   szlibd_ = "szlibc.obj szlibd.obj"
  532. $   GOSUB ZLIBD_DEV
  533. $   SETMOD szlibd 'szlibd_'
  534. $   ADDMOD szlibd -include zlibd
  535. $   ADD_DEV_MODULES = "''szlibd_'"
  536. $   GOSUB ADD_DEV_MOD
  537. $   RETURN
  538. $ !
  539. $! Command list package.  Currently the higher-level facilities are required,
  540. $! but eventually they will be optional.
  541. $ CLIST_DEV:
  542. $   IF F$TYPE(CLIST_DONE) .NES. "" THEN RETURN
  543. $   GOSUB CLBASE_DEV
  544. $   GOSUB CLPATH_DEV
  545. $   SETMOD clist -include clbase clpath
  546. $   CLIST_DONE = 1
  547. $   RETURN
  548. $ !
  549. $! Base command list facility
  550. $ CLBASE_DEV:
  551. $   IF F$TYPE(clbase_) .NES. "" THEN RETURN
  552. $   clbase1_ = "gxclist.obj gxclbits.obj gxclpage.obj"
  553. $   clbase2_ = "gxclread.obj gxclrect.obj stream.obj"
  554. $   clbase_ = "''clbase1_' ''clbase2_'"
  555. $   GOSUB CL'BAND_LIST_STORAGE'_DEV
  556. $   GOSUB CFE_DEV
  557. $   GOSUB CFD_DEV
  558. $   GOSUB RLE_DEV
  559. $   GOSUB RLD_DEV
  560. $   SETMOD clbase 'clbase1_'
  561. $   ADDMOD clbase -obj 'clbase2_'
  562. $   ADDMOD clbase -include cl'BAND_LIST_STORAGE' cfe cfd rle rld
  563. $   ADD_DEV_MODULES = "''clbase_'"
  564. $   GOSUB ADD_DEV_MOD
  565. $   RETURN
  566. $ !
  567. $! Higher-level command list facilities.
  568. $ CLPATH_DEV:
  569. $   IF F$TYPE(clpath_) .NES. "" THEN RETURN
  570. $   clpath_ = "gxclimag.obj gxclpath.obj"
  571. $   GOSUB PSL2CS_DEV
  572. $   SETMOD clpath 'clpath_'
  573. $   ADDMOD clpath -include psl2cs
  574. $   ADDMOD clpath -init climag clpath
  575. $   ADD_DEV_MODULES = "''clpath_'"
  576. $   GOSUB ADD_DEV_MOD
  577. $   RETURN
  578. $ !
  579. $ CLFILE_DEV:
  580. $   IF F$TYPE(clfile_) .NES. "" THEN RETURN
  581. $   clfile_ = "gxclfile.obj"
  582. $   SETMOD clfile 'clfile_'
  583. $   ADD_DEV_MODULES = "''clfile_'"
  584. $   GOSUB ADD_DEV_MOD
  585. $   RETURN
  586. $ !
  587. $ CLMEMORY_DEV:
  588. $   IF F$TYPE(clmemory_) .NES. "" THEN RETURN
  589. $   clmemory_ = "gxclmem.obj gxcl'BAND_LIST_COMPRESSOR'.obj"
  590. $   GOSUB S'BAND_LIST_COMPRESSOR'E_DEV
  591. $   GOSUB S'BAND_LIST_COMPRESSOR'D_DEV
  592. $   SETMOD clmemory 'clmemory_'
  593. $   ADDMOD clmemory -include S'BAND_LIST_COMPRESSOR'E S'BAND_LIST_COMPRESSOR'D
  594. $   ADDMOD clmemory init cl_'BAND_LIST_COMPRESSOR'
  595. $   ADD_DEV_MODULES = "''clmemory_'"
  596. $   GOSUB ADD_DEV_MOD
  597. $   RETURN
  598. $ !
  599. $ VECTOR_DEV:
  600. $   IF F$TYPE(vector_) .NES. "" THEN RETURN
  601. $   vector_ = "gdevvec.obj"
  602. $   GOSUB BBOX_DEV
  603. $   SETMOD vector "''vector_'"
  604. $   ADDMOD vector include bbox
  605. $   ADD_DEV_MODULES = "''vector_'"
  606. $   GOSUB ADD_DEV_MOD
  607. $   RETURN
  608. $ !
  609. $ ISCALE_DEV:
  610. $   iscale_ = "siscale.obj"
  611. $   SETMOD iscale 'iscale_'
  612. $   ADD_DEV_MODULES = "''iscale_'"
  613. $   GOSUB ADD_DEV_MOD
  614. $   RETURN
  615. $ !
  616. $ ROPLIB_DEV:
  617. $   roplib_ = "gdevmrop.obj gsrop.obj gsroptab.obj"
  618. $   SETMOD roplib 'roplib_'
  619. $   ADDMOD roplib -init roplib
  620. $   ADD_DEV_MODULES = "''roplib_'"
  621. $   GOSUB ADD_DEV_MOD
  622. $   RETURN
  623. $ !
  624. $! -------- Composite (PostScript Type 0) font support -------- #
  625. $ CMAPLIB_DEV:
  626. $   cmaplib_="gsfcmap.obj"
  627. $   SETMOD cmaplib "''cmaplib_'"
  628. $   ADD_DEV_MODULES = "''cmaplib_'"
  629. $   GOSUB ADD_DEV_MOD
  630. $   RETURN
  631. $ !
  632. $ PSF0LIB_DEV:
  633. $   psf0lib_ = "gschar0.obj gsfont0.obj"
  634. $   GOSUB CMAPLIB_DEV
  635. $   SETMOD psf0lib 'psf0lib_'
  636. $   ADDMOD psf0lib -include cmaplib
  637. $   ADD_DEV_MODULES = "''psf0lib_'"
  638. $   GOSUB ADD_DEV_MOD
  639. $   RETURN
  640. $ !
  641. $! ---------------- Pattern color ---------------- #
  642. $ PATLIB_DEV:
  643. $   patlib_ = "gspcolor.obj gxclip2.obj gxpcmap.obj"
  644. $   GOSUB CMYKLIB_DEV
  645. $   GOSUB PSL2CS_DEV
  646. $   SETMOD patlib -include cmyklib psl2cs
  647. $   ADDMOD patlib -obj 'patlib_'
  648. $   ADD_DEV_MODULES = "''patlib_'"
  649. $   GOSUB ADD_DEV_MOD
  650. $   RETURN
  651. $ !
  652. $! ---------------- PostScript Type 1 (and Type 4) fonts ---------------- #
  653. $ TYPE1LIB_INI:
  654. $   IF F$TYPE(type1lib_) .NES. "" THEN RETURN
  655. $   type1lib_= "gxtype1.obj gxhint1.obj gxhint2.obj gxhint3.obj"
  656. $   ADD_DEV_MODULES = "''type1lib_'"
  657. $   GOSUB ADD_DEV_MOD
  658. $   RETURN
  659. $ !
  660. $!  Type 1 charstrings
  661. $ PSF1LIB_DEV:
  662. $   IF F$TYPE(psf1lib_) .NES. "" THEN RETURN
  663. $   GOSUB TYPE1LIB_INI
  664. $   psf1lib_ = "gstype1.obj"
  665. $   SETMOD psf1lib 'psf1lib_'
  666. $   ADDMOD psf1lib 'type1lib_'
  667. $   ADDMOD psf1lib -init gstype1
  668. $   ADD_DEV_MODULES = "''psf1lib_'"
  669. $   GOSUB ADD_DEV_MOD
  670. $   RETURN
  671. $ !
  672. $! Type 2 charstrings
  673. $ PSF2LIB_DEV:
  674. $   IF F$TYPE(psf2lib_) .NES. "" THEN RETURN
  675. $   GOSUB TYPE1LIB_INI
  676. $   psf2lib_ = "gstype2.obj"
  677. $   SETMOD psf2lib 'psf2lib_'
  678. $   ADDMOD psf2lib 'type1lib_'
  679. $   ADDMOD psf2lib -init gstype2
  680. $   ADD_DEV_MODULES = "''psf2lib_'"
  681. $   GOSUB ADD_DEV_MOD
  682. $   RETURN
  683. $ !
  684. $! ---------------- TrueType and PostScript Type 42 fonts ---------------- #
  685. $ TTFLIB_DEV:
  686. $   IF F$TYPE(ttflib_) .NES. "" THEN RETURN
  687. $   ttflib_ = "gstype42.obj"
  688. $   SETMOD ttflib 'ttflib_'
  689. $   ADD_DEV_MODULES = "''ttflib_'"
  690. $   GOSUB ADD_DEV_MOD
  691. $   RETURN
  692. $ !
  693. $ CMYKLIB_DEV:
  694. $   IF F$TYPE(cmyklib_) .NES. "" THEN RETURN
  695. $   cmyklib_ = "gscolor1.obj gsht1.obj"
  696. $   SETMOD cmyklib 'cmyklib_'
  697. $   ADDMOD cmyklib -init gscolor1
  698. $   ADD_DEV_MODULES = "''cmyklib_'"
  699. $   GOSUB ADD_DEV_MOD
  700. $   RETURN
  701. $ !
  702. $ COLIMLIB_DEV:
  703. $   IF F$TYPE(colimlib_) .NES. "" THEN RETURN
  704. $   colimlib_ = "gximage3.obj"
  705. $   SETMOD colimlib 'colimlib_'
  706. $   ADDMOD colimlib -init gximage3
  707. $   ADD_DEV_MODULES = "''colimlib_'"
  708. $   GOSUB ADD_DEV_MOD
  709. $   RETURN
  710. $ !
  711. $ HSBLIB_DEV:
  712. $   hsblib_ = "gshsb.obj"
  713. $   SETMOD hsblib 'hsblib_'
  714. $   ADD_DEV_MODULES = "''hsblib_'"
  715. $   GOSUB ADD_DEV_MOD
  716. $   RETURN
  717. $ !
  718. $ PATH1LIB_DEV:
  719. $   path1lib_ = "gspath1.obj"
  720. $   SETMOD path1lib 'path1lib_'
  721. $   ADD_DEV_MODULES = "''path1lib_'"
  722. $   GOSUB ADD_DEV_MOD
  723. $   RETURN
  724. $ !
  725. $ PSL2CS_DEV:
  726. $   IF F$TYPE(psl2cs_) .NES. "" THEN RETURN
  727. $   psl2cs_ = "gscolor2.obj"
  728. $   SETMOD psl2cs 'psl2cs_'
  729. $   ADD_DEV_MODULES = "''psl2cs_'"
  730. $   GOSUB ADD_DEV_MOD
  731. $   RETURN
  732. $ !
  733. $ PSL2LIB_DEV:
  734. $   IF F$TYPE(psl2lib_) .NES. "" THEN RETURN
  735. $   psl2lib_ = "gximage4.obj gximage5.obj"
  736. $   GOSUB COLIMLIB_DEV
  737. $   GOSUB PSL2CS_DEV
  738. $   SETMOD psl2lib 'psl2lib_'
  739. $   ADDMOD psl2lib -init gximage4 gximage5
  740. $   ADDMOD psl2lib -include colimlib psl2cs
  741. $   ADD_DEV_MODULES = "''psl2lib_'"
  742. $   GOSUB ADD_DEV_MOD
  743. $   RETURN
  744. $ !
  745.  
  746. $ DPS2LIB_DEV:
  747. $   IF F$TYPE(dps2lib_) .NES. "" THEN RETURN
  748. $   dps2lib_ = "gsdps1.obj"
  749. $   SETMOD dps2lib 'dps2lib_'
  750. $   ADD_DEV_MODULES = "''dps2lib_'"
  751. $   GOSUB ADD_DEV_MOD
  752. $   RETURN
  753. $ !
  754. $ CIELIB_DEV:
  755. $   IF F$TYPE(cielib_) .NES. "" THEN RETURN
  756. $   cielib_ = "gscie.obj gxctable.obj"
  757. $   SETMOD cielib 'cielib_'
  758. $   ADD_DEV_MODULES = "''cielib_'"
  759. $   GOSUB ADD_DEV_MOD
  760. $   RETURN
  761. $ !
  762. $ SEPRLIB_DEV:
  763. $   seprlib_ = "gscsepr.obj"
  764. $   SETMOD seprlib 'seprlib_'
  765. $   ADD_DEV_MODULES = "''seprlib_'"
  766. $   GOSUB ADD_DEV_MOD
  767. $   RETURN
  768. $ !
  769. $ ISUPPORT_DEV:
  770. $   IF F$TYPE(isupport1_) .NES. "" THEN RETURN
  771. $   isupport1_ = "ialloc.obj igc.obj igcref.obj igcstr.obj"
  772. $   isupport2_ = "ilocate.obj iname.obj isave.obj"
  773. $   isupport_  = "''isupport1_' ''isupport2_'"
  774. $   SETMOD isupport 'isupport1_'
  775. $   ADDMOD isupport -obj 'isupport2_'
  776. $   ADDMOD isupport -init igcref
  777. $   ADD_DEV_MODULES = "''isupport_'"
  778. $   GOSUB ADD_DEV_MOD
  779. $   RETURN
  780. $ !
  781. $ PSBASE_DEV:
  782. $   IF F$TYPE(INT_CONFIG) .NES. "" THEN RETURN
  783. $   INT1  = "icontext.obj idebug.obj idict.obj idparam.obj"
  784. $   INT2  = "iinit.obj interp.obj iparam.obj ireclaim.obj"
  785. $   INT3  = "iscan.obj iscannum.obj istack.obj iutil.obj"
  786. $   INT4  = "scantab.obj sfilter1.obj sstring.obj stream.obj"
  787. $   Z1    = "zarith.obj zarray.obj zcontrol.obj zdict.obj"
  788. $   Z1OPS = "zarith zarray zcontrol zdict"
  789. $   Z2    = "zfile.obj zfileio.obj zfilter.obj zfname.obj zfproc.obj"
  790. $   Z2OPS = "zfile zfileio zfilter zfproc"
  791. $   Z3    = "zgeneric.obj ziodev.obj zmath.obj zmisc.obj zpacked.obj"
  792. $   Z3OPS = "zgeneric ziodev zmath zmisc zpacked"
  793. $   Z4    = "zrelbit.obj zstack.obj zstring.obj zsysvm.obj"
  794. $   Z4OPS = "zrelbit zstack zstring zsysvm"
  795. $   Z5    = "ztoken.obj ztype.obj zvmem.obj"
  796. $   Z5OPS = "ztoken ztype zvmem"
  797. $   Z6    = "zchar.obj zcolor.obj zdevice.obj zfont.obj zfont2.obj"
  798. $   Z6OPS = "zchar zcolor zdevice zfont zfont2"
  799. $   Z7    = "zgstate.obj zht.obj zimage.obj zmatrix.obj zpaint.obj zpath.obj"
  800. $   Z7OPS = "zgstate zht zimage zmatrix zpaint zpath"
  801. $   INT_OBJS = "imainarg.obj gsargs.obj imain.obj ''INT1' ''INT2' ''INT3' ''INT4'"
  802. $   Z_OBJS   = "''Z1' ''Z2' ''Z3' ''Z4' ''Z5' ''Z6' ''Z7'"
  803. $   INT_CONFIG = "gconfig.obj gscdefs.obj iconfig.obj iccinit0.obj"
  804. $   GOSUB ISUPPORT_DEV
  805. $   GOSUB RLD_DEV
  806. $   GOSUB RLE_DEV
  807. $   GOSUB SFILE_DEV
  808. $   SETMOD psbase imainarg.obj gsargs.obj imain.obj
  809. $   ADDMOD psbase -obj 'INT_CONFIG'
  810. $   ADDMOD psbase -obj 'INT1'
  811. $   ADDMOD psbase -obj 'INT2'
  812. $   ADDMOD psbase -obj 'INT3'
  813. $   ADDMOD psbase -obj 'INT4'
  814. $   ADDMOD psbase -obj 'Z1'
  815. $   ADDMOD psbase -oper 'Z1OPS'
  816. $   ADDMOD psbase -obj 'Z2'
  817. $   ADDMOD psbase -oper 'Z2OPS'
  818. $   ADDMOD psbase -obj 'Z3'
  819. $   ADDMOD psbase -oper 'Z3OPS'
  820. $   ADDMOD psbase -obj 'Z4'
  821. $   ADDMOD psbase -oper 'Z4OPS'
  822. $   ADDMOD psbase -obj 'Z5'
  823. $   ADDMOD psbase -oper 'Z5OPS'
  824. $   ADDMOD psbase -obj 'Z6'
  825. $   ADDMOD psbase -oper 'Z6OPS'
  826. $   ADDMOD psbase -obj 'Z7'
  827. $   ADDMOD psbase -oper 'Z7OPS'
  828. $   ADDMOD psbase -iodev stdin stdout stderr lineedit statementedit
  829. $   ADDMOD psbase -include isupport rld rle sfile
  830. $   ADD_DEV_MODULES = "''INT_OBJS'"
  831. $   GOSUB ADD_DEV_MOD
  832. $   ADD_DEV_MODULES = "''Z_OBJS'"
  833. $   GOSUB ADD_DEV_MOD
  834. $   RETURN
  835. $ !
  836. $ LEVEL1_DEV:
  837. $   GOSUB PSBASE_DEV
  838. $   GOSUB BCP_DEV
  839. $   GOSUB HSB_DEV
  840. $   GOSUB PATH1_DEV
  841. $   GOSUB TYPE1_DEV
  842. $   SETMOD level1 -include psbase bcp hsb path1 type1
  843. $   ADDMOD level1 -emulator """PostScript""" """PostScriptLevel1"""
  844. $   RETURN
  845. $ !
  846. $ COLOR_DEV:
  847. $   IF F$TYPE(COLOR_DONE) .NES. "" THEN RETURN
  848. $   GOSUB CMYKLIB_DEV
  849. $   GOSUB COLIMLIB_DEV
  850. $   GOSUB CMYKREAD_DEV
  851. $   SETMOD color -include cmyklib colimlib cmykread
  852. $   COLOR_DONE = 1
  853. $   RETURN
  854. $ !
  855. $ CMYKREAD_DEV:
  856. $   IF F$TYPE(cmykread_) .NES. "" THEN RETURN
  857. $   cmykread_ = "zcolor1.obj zht1.obj"
  858. $   SETMOD cmykread 'cmykread_'
  859. $   ADDMOD cmykread -oper zcolor1 zht1
  860. $   ADD_DEV_MODULES = "''cmykread_'"
  861. $   GOSUB ADD_DEV_MOD
  862. $   RETURN
  863. $ !
  864. $ HSB_DEV:
  865. $   hsb_ = "zhsb.obj"
  866. $   GOSUB HSBLIB_DEV
  867. $   SETMOD hsb 'hsb_'
  868. $   ADDMOD hsb -include hsblib
  869. $   ADDMOD hsb -oper zhsb
  870. $   ADD_DEV_MODULES = "''hsb_'"
  871. $   GOSUB ADD_DEV_MOD
  872. $   RETURN
  873. $ !
  874. $ PATH1_DEV:
  875. $   path1_ = "zpath1.obj"
  876. $   GOSUB PATH1LIB_DEV
  877. $   SETMOD path1 'path1_'
  878. $   ADDMOD path1 -include path1lib
  879. $   ADDMOD path1 -oper zpath1
  880. $   ADD_DEV_MODULES = "''path1_'"
  881. $   GOSUB ADD_DEV_MOD
  882. $   RETURN
  883. $ !
  884. $ BCP_DEV:
  885. $   bcp_ = "sbcp.obj zfbcp.obj"
  886. $   SETMOD bcp 'bcp_'
  887. $   ADDMOD bcp -oper zfbcp
  888. $   ADD_DEV_MODULES = "''bcp_'"
  889. $   GOSUB ADD_DEV_MOD
  890. $   RETURN
  891. $ !
  892. $ DISKFONT_DEV:
  893. $   SETMOD diskfont -ps gs_diskf
  894. $   RETURN
  895. $ !
  896. $ DOUBLE_DEV:
  897. $   IF F$TYPE(double_) .NES. "" THEN RETURN
  898. $   double_ = "zdouble.obj"
  899. $   SETMOD double 'double_'
  900. $   ADDMOD double -oper zdouble
  901. $   ADD_DEV_MODULES = "''double_'"
  902. $   GOSUB ADD_DEV_MOD
  903. $   RETURN
  904. $ !
  905. $ EPSF_DEV:
  906. $   SETMOD epsf -ps gs_epsf
  907. $   RETURN
  908. $ !
  909. $! ---------------- PostScript Type 1 (and Type 4) fonts ---------------- #
  910. $ TYPE1_DEV:
  911. $   IF F$TYPE(TYPE1_DONE) .NES. "" THEN RETURN
  912. $   GOSUB PSF1LIB_DEV
  913. $   GOSUB PSF1READ_DEV
  914. $   SETMOD type1 -include psf1lib psf1read
  915. $   TYPE1_DONE = 1
  916. $   RETURN
  917. $ !
  918. $ PSF1READ_DEV:
  919. $   IF F$TYPE(psf1read_) .NES. "" THEN RETURN
  920. $   psf1read_ = "seexec.obj zchar1.obj zcharout.obj zfont1.obj zmisc1.obj"
  921. $   SETMOD psf1read 'psf1read_'
  922. $   ADDMOD psf1read -oper zchar1 zfont1 zmisc1
  923. $   ADDMOD psf1read -ps gs_type1
  924. $   ADD_DEV_MODULES = "''psf1read_'"
  925. $   GOSUB ADD_DEV_MOD
  926. $   RETURN
  927. $ !
  928. $! ------------- Compact Font Format and Type 2 charstrings ------------- #
  929. $ CFF_DEV:
  930. $   GOSUB PSL2INT_DEV
  931. $   SETMOD cff -ps gs_cff
  932. $   RETURN
  933. $!
  934. $ TYPE2_DEV:
  935. $   GOSUB TYPE1_DEV
  936. $   GOSUB PSF2LIB_DEV
  937. $   SETMOD type2 -include psf2lib
  938. $   RETURN
  939. $!
  940. $! ---------------- TrueType and PostScript Type 42 fonts ---------------- #
  941. $! Native TrueType support
  942. $ TTFONT_DEV:
  943. $   GOSUB TYPE42_DEV
  944. $   SETMOD ttfont -include type42
  945. $   ADDMOD ttfont -ps gs_mro_e gs_wan_e gs_ttf
  946. $   RETURN
  947. $ !
  948. $! Type 42 (embedded TrueType) support
  949. $ TYPE42_DEV:
  950. $   IF F$TYPE(type42read_) .NES. "" THEN RETURN
  951. $   type42read_ = "zchar42.obj zcharout.obj zfont42.obj"
  952. $   GOSUB TTFLIB_DEV
  953. $   SETMOD type42 'type42read_'
  954. $   ADDMOD type42 -include ttflib
  955. $   ADDMOD type42 -oper zchar42 zfont42
  956. $   ADDMOD type42 -ps gs_typ42
  957. $   ADD_DEV_MODULES = "''type42read_'"
  958. $   GOSUB ADD_DEV_MOD
  959. $   RETURN
  960. $ !
  961. $ GCONFIGF_H:
  962. $   SETMOD ccfonts_ -font "''ccfonts1'"
  963. $   ADDMOD ccfonts_ -font "''ccfonts2'"
  964. $   ADDMOD ccfonts_ -font "''ccfonts3'"
  965. $   ADDMOD ccfonts_ -font "''ccfonts4'"
  966. $   ADDMOD ccfonts_ -font "''ccfonts5'"
  967. $   ADDMOD ccfonts_ -font "''ccfonts6'"
  968. $   ADDMOD ccfonts_ -font "''ccfonts7'"
  969. $   ADDMOD ccfonts_ -font "''ccfonts8'"
  970. $   ADDMOD ccfonts_ -font "''ccfonts9'"
  971. $   ADDMOD ccfonts_ -font "''ccfonts10'"
  972. $   ADDMOD ccfonts_ -font "''ccfonts11'"
  973. $   ADDMOD ccfonts_ -font "''ccfonts12'"
  974. $   ADDMOD ccfonts_ -font "''ccfonts13'"
  975. $   ADDMOD ccfonts_ -font "''ccfonts14'"
  976. $   ADDMOD ccfonts_ -font "''ccfonts15'"
  977. $   GENCONF ccfonts_.dev -n gs -f gconfigf.h
  978. $   RETURN
  979. $ !
  980.  
  981. $! ======================== PostScript Level 2 ======================== #
  982. $ LEV2MIN_DEV:
  983. $   GOSUB PSBASE_DEV
  984. $   GOSUB DEVCTRL_DEV
  985. $   GOSUB COLOR_DEV
  986. $   GOSUB DPS2LIB_DEV
  987. $   GOSUB DPS2READ_DEV
  988. $   GOSUB FDECODE_DEV
  989. $   GOSUB PATH1_DEV
  990. $   GOSUB TYPE1_DEV
  991. $   GOSUB PSL2LIB_DEV
  992. $   GOSUB PSL2READ_DEV
  993. $   SETMOD lev2min -include psbase devctrl color
  994. $   ADDMOD lev2min -include dps2lib dps2read fdecode path1 type1
  995. $   ADDMOD lev2min -include psl2lib psl2read
  996. $   ADDMOD lev2min -emulator """PostScript""" """PostScriptLevel1""" """PostScriptLevel2"""
  997. $   RETURN
  998. $ !
  999. $ LEVEL2_DEV:
  1000. $   GOSUB CIDFONT_DEV
  1001. $   GOSUB CIE_DEV
  1002. $   GOSUB CMAPREAD_DEV
  1003. $   GOSUB COMPFONT_DEV
  1004. $   GOSUB DCT_DEV
  1005. $   GOSUB DEVCTRL_DEV
  1006. $   GOSUB DPSAND2_DEV
  1007. $   GOSUB FILTER_DEV
  1008. $   GOSUB LEVEL1_DEV
  1009. $   GOSUB PATTERN_DEV
  1010. $   GOSUB PSL2LIB_DEV
  1011. $   GOSUB PSL2READ_DEV
  1012. $   GOSUB SEPR_DEV
  1013. $   GOSUB TYPE42_DEV
  1014. $   GOSUB XFILTER_DEV
  1015. $   SETMOD level2 -include cidfont cie cmapread compfont
  1016. $   SETMOD level2 -include dct devctrl dpsand2 filter
  1017. $   ADDMOD level2 -include level1 pattern psl2lib psl2read
  1018. $   ADDMOD level2 -include sepr type42 xfilter
  1019. $   ADDMOD level2 -emulator """PostScript""" """PostScriptLevel2"""
  1020. $   RETURN
  1021. $ !
  1022. $! Define basic Level 2 language support.
  1023. $! This is the minimum required for CMap and CIDFont support.
  1024. $ PSL2INT_DEV:
  1025. $   IF F$TYPE(psl2int_) .NES. "" THEN RETURN
  1026. $   psl2int_="iutil2.obj zmisc2.obj zusparam.obj"
  1027. $   GOSUB DPS2INT_DEV
  1028. $   SETMOD psl2int "''psl2int_'"
  1029. $   ADDMOD psl2int -include dps2int
  1030. $   ADDMOD psl2int -oper zmisc2 zusparam
  1031. $   ADDMOD psl2int -ps gs_lev2 gs_res
  1032. $   ADD_DEV_MODULES = "''psl2int_'"
  1033. $   GOSUB ADD_DEV_MOD
  1034. $   RETURN
  1035. $!
  1036. $! Define full Level 2 support.
  1037. $ PSL2READ_DEV:
  1038. $   IF F$TYPE(psl2read_) .NES. "" THEN RETURN
  1039. $   psl2read_  = "zcolor2.obj zcsindex.obj zht2.obj zimage2.obj"
  1040. $   GOSUB PSL2INT_DEV
  1041. $   GOSUB DPS2READ_DEV
  1042. $   SETMOD psl2read 'psl2read_'
  1043. $   ADDMOD psl2read -include psl2int dps2read
  1044. $   ADDMOD psl2read -oper zcolor2_l2 zcsindex_l2
  1045. $   ADDMOD psl2read -oper zht2_l2 zimage2_l2
  1046. $   ADD_DEV_MODULES = "''psl2read_'"
  1047. $   GOSUB ADD_DEV_MOD
  1048. $   RETURN
  1049. $ !
  1050. $ DEVCTRL_DEV:
  1051. $   devctrl_ = "zdevice2.obj ziodev2.obj zmedia2.obj zdevcal.obj"
  1052. $   SETMOD devctrl 'devctrl_'
  1053. $   ADDMOD devctrl -oper zdevice2_l2 ziodev2_l2 zmedia2_l2
  1054. $   ADDMOD devctrl -iodev null ram calendar
  1055. $   ADDMOD devctrl -ps gs_setpd
  1056. $   ADD_DEV_MODULES = "''devctrl_'"
  1057. $   GOSUB ADD_DEV_MOD
  1058. $   RETURN
  1059. $ !
  1060. $ FDECODE_DEV:
  1061. $   IF F$TYPE(fdecode_) .NES. "" THEN RETURN
  1062. $   fdecode_ = "scantab.obj sfilter2.obj zfdecode.obj"
  1063. $   GOSUB CFD_DEV
  1064. $   GOSUB LZWD_DEV
  1065. $   GOSUB PDIFF_DEV
  1066. $   GOSUB PNGP_DEV
  1067. $   GOSUB RLD_DEV
  1068. $   SETMOD fdecode 'fdecode_'
  1069. $   ADDMOD fdecode -include cfd lzwd pdiff pngp rld
  1070. $   ADDMOD fdecode -oper zfdecode
  1071. $   ADD_DEV_MODULES = "''fdecode_'"
  1072. $   GOSUB ADD_DEV_MOD
  1073. $   RETURN
  1074. $ !
  1075. $ FILTER_DEV:
  1076. $   filter_  = "zfilter2.obj"
  1077. $   GOSUB FDECODE_DEV
  1078. $   GOSUB CFE_DEV
  1079. $   GOSUB LZWE_DEV
  1080. $   GOSUB RLE_DEV
  1081. $   SETMOD filter -include fdecode
  1082. $   ADDMOD filter -obj 'filter_'
  1083. $   ADDMOD filter -include cfe lzwe rle
  1084. $   ADDMOD filter -oper zfilter2
  1085. $   ADD_DEV_MODULES = "''filter_'"
  1086. $   GOSUB ADD_DEV_MOD
  1087. $   RETURN
  1088. $ !
  1089. $ XFILTER_DEV:
  1090. $   xfilter_ = "sbhc.obj sbwbs.obj shcgen.obj smtf.obj zfilterx.obj"
  1091. $   GOSUB PCXD_DEV
  1092. $   GOSUB PNGP_DEV
  1093. $   SETMOD xfilter 'xfilter_'
  1094. $   ADDMOD xfilter -include pcxd
  1095. $   ADDMOD xfilter -oper zfilterx
  1096. $   ADD_DEV_MODULES = "''xfilter_'"
  1097. $   GOSUB ADD_DEV_MOD
  1098. $   RETURN
  1099. $ !
  1100. $ BTOKEN_DEV:
  1101. $   btoken_ = "iscanbin.obj zbseq.obj"
  1102. $   SETMOD btoken 'btoken_'
  1103. $   ADDMOD btoken -oper zbseq_l2
  1104. $   ADDMOD btoken -ps gs_btokn
  1105. $   ADD_DEV_MODULES = "''btoken_'"
  1106. $   GOSUB ADD_DEV_MOD
  1107. $   RETURN
  1108. $ !
  1109. $ UPATH_DEV:
  1110. $   upath_ = "zupath.obj ibnum.obj"
  1111. $   SETMOD upath 'upath_'
  1112. $   ADDMOD upath -oper zupath_l2
  1113. $   ADD_DEV_MODULES = "''upath_'"
  1114. $   GOSUB ADD_DEV_MOD
  1115. $   RETURN
  1116. $ !
  1117. $! -------- Additions common to Display PostScript and Level 2 -------- #
  1118. $ DPSAND2_DEV:
  1119. $   GOSUB BTOKEN_DEV
  1120. $   GOSUB COLOR_DEV
  1121. $   GOSUB UPATH_DEV
  1122. $   GOSUB DPS2LIB_DEV
  1123. $   GOSUB DPS2READ_DEV
  1124. $   SETMOD dpsand2 -include btoken color upath dps2lib dps2read
  1125. $   RETURN
  1126. $ !
  1127. $! Note that zvmem2 includes both Level 1 and Level 2 operators.
  1128. $ DPS2INT_DEV:
  1129. $   IF F$TYPE(dps2int_) .NES. "" THEN RETURN
  1130. $   dps2int_="zvmem2.obj zdps1.obj"
  1131. $   SETMOD dps2int "''dps2int_'"
  1132. $   ADDMOD dps2int -oper zvmem2 zdps1_l2
  1133. $   ADDMOD dps2int -ps gs_dps1
  1134. $   ADD_DEV_MODULES = "''dps2int_'"
  1135. $   GOSUB ADD_DEV_MOD
  1136. $   RETURN
  1137. $!
  1138. $ DPS2READ_DEV:
  1139. $   IF F$TYPE(dps2read_) .NES. "" THEN RETURN
  1140. $   dps2read_ = "ibnum.obj zchar2.obj"
  1141. $   GOSUB DPS2INT_DEV
  1142. $   SETMOD dps2read 'dps2read_'
  1143. $   ADDMOD dps2read -include dps2int
  1144. $   ADDMOD dps2read -oper ireclaim_l2 zchar2_l2
  1145. $   ADDMOD dps2read -ps gs_dps2
  1146. $   ADD_DEV_MODULES = "''dps2read_'"
  1147. $   GOSUB ADD_DEV_MOD
  1148. $   RETURN
  1149. $ !
  1150. $! ---------------- Display PostScript ---------------- #
  1151. $ DPS_DEV:
  1152. $   dps_ = "zdps.obj"
  1153. $   GOSUB LEVEL2_DEV
  1154. $   SETMOD dps -include level2
  1155. $   ADDMOD dps -obj 'dps_'
  1156. $   ADDMOD dps -oper zdps
  1157. $   ADDMOD dps -ps gs_dps
  1158. $   ADD_DEV_MODULES = "''dps_'"
  1159. $   GOSUB ADD_DEV_MOD
  1160. $   RETURN
  1161. $ !
  1162. $!# ---------------- NeXT Display PostScript ---------------- #
  1163. $!#**************** NOT READY FOR USE YET ****************#
  1164. $!
  1165. $ DPSNEXT_DEV:
  1166. $   dpsnext_ = "zdpnext.obj"
  1167. $   GOSUB DPS_DEV
  1168. $   SETMOD dpsnext -include dps
  1169. $   ADDMOD dpsnext -obj "''dpsnext_'"
  1170. $   ADDMOD dpsnext -oper zdpnext
  1171. $   ADDMOD dpsnext -ps gs_dpnxt
  1172. $   ADD_DEV_MODULES = "''dpsnext_'"
  1173. $   GOSUB ADD_DEV_MOD
  1174. $   RETURN
  1175. $ !
  1176. $ COMPFONT_DEV:
  1177. $   GOSUB PSF0LIB_DEV
  1178. $   GOSUB PSF0READ_DEV
  1179. $   SETMOD compfont -include psf0lib psf0read
  1180. $   RETURN
  1181. $ !
  1182. $ PSF0READ_DEV:
  1183. $   psf0read_ = "zchar2.obj zfcmap.obj zfont0.obj"
  1184. $   SETMOD psf0read 'psf0read_'
  1185. $   ADDMOD psf0read -oper zfont0 zchar2 zfcmap
  1186. $   ADD_DEV_MODULES = "''psf0read_'"
  1187. $   GOSUB ADD_DEV_MOD
  1188. $   RETURN
  1189. $ !
  1190. $! ---------------- CMap support ---------------- #
  1191. $ CMAPREAD_DEV:
  1192. $   IF F$TYPE(cmapread_) .NES. "" THEN RETURN
  1193. $   cmapread_="zfcmap.obj"
  1194. $   GOSUB CMAPLIB_DEV
  1195. $   GOSUB PSL2INT_DEV
  1196. $   SETMOD cmapread "''cmapread_'"
  1197. $   ADDMOD cmapread -include cmaplib psl2int
  1198. $   ADDMOD cmapread -oper zfcmap
  1199. $   ADDMOD cmapread -ps gs_cmap
  1200. $   ADD_DEV_MODULES = "''cmapread_'"
  1201. $   GOSUB ADD_DEV_MOD
  1202. $   RETURN
  1203. $ !
  1204. $!
  1205. $ CIDFONT_DEV:
  1206. $   IF F$TYPE(cidread_) .NES. "" THEN RETURN
  1207. $   cidread_ = "zcid.obj"
  1208. $   GOSUB PSF1READ_DEV
  1209. $   GOSUB PSL2INT_DEV
  1210. $   GOSUB TYPE42_DEV
  1211. $   SETMOD cidfont 'cidread_'
  1212. $   ADDMOD cidfont -include psf1read psl2int type42
  1213. $   ADDMOD cidfont -ps -gs_cidfn
  1214. $   ADDMOD cidfont -oper zcid
  1215. $   ADD_DEV_MODULES = "''cidread_'"
  1216. $   GOSUB ADD_DEV_MOD
  1217. $   RETURN
  1218. $ !
  1219. $ CIE_DEV:
  1220. $   IF F$TYPE(cieread_) .NES. "" THEN RETURN
  1221. $   cieread_ = "zcie.obj zcrd.obj"
  1222. $   GOSUB CIELIB_DEV
  1223. $   SETMOD cie 'cieread_'
  1224. $   ADDMOD cie -oper zcie_l2 zcrd_l2
  1225. $   ADDMOD cie -include cielib
  1226. $   ADD_DEV_MODULES = "''cieread_'"
  1227. $   GOSUB ADD_DEV_MOD
  1228. $   RETURN
  1229. $ !
  1230. $ PATTERN_DEV:
  1231. $   GOSUB PATLIB_DEV
  1232. $   GOSUB PATREAD_DEV
  1233. $   SETMOD pattern -include patlib patread
  1234. $   RETURN
  1235. $ !
  1236. $ PATREAD_DEV:
  1237. $   patread_ = "zpcolor.obj"
  1238. $   SETMOD patread 'patread_'
  1239. $   ADDMOD patread -oper zpcolor_l2
  1240. $   ADD_DEV_MODULES = "''patread_'"
  1241. $   GOSUB ADD_DEV_MOD
  1242. $   RETURN
  1243. $ !
  1244. $ SEPR_DEV:
  1245. $   seprread_ = "zcssepr.obj"
  1246. $   GOSUB SEPRLIB_DEV
  1247. $   SETMOD sepr 'seprread_'
  1248. $   ADDMOD sepr -oper zcssepr_l2
  1249. $   ADDMOD sepr -include seprlib
  1250. $   ADD_DEV_MODULES = "''seprread_'"
  1251. $   GOSUB ADD_DEV_MOD
  1252. $   RETURN
  1253. $ !
  1254. $! ---------------- DCT filters ---------------- #
  1255. $ DCT_DEV:
  1256. $   IF F$TYPE(dctc__) .NES. "" THEN RETURN
  1257. $   dctc_="zfdctc.obj"
  1258. $   GOSUB DCTE_DEV
  1259. $   GOSUB DCTD_DEV
  1260. $   SETMOD dct -include dcte dctd
  1261. $   ADD_DEV_MODULES = "''dctc_'"
  1262. $   GOSUB ADD_DEV_MOD
  1263. $   RETURN
  1264. $ !
  1265. $! Encoding (compression)
  1266. $ DCTE_DEV:
  1267. $   IF F$TYPE(dcte_) .NES. "" THEN RETURN
  1268. $   dcte_ = "''dctc_' zfdcte.obj"
  1269. $   GOSUB SDCTE_DEV
  1270. $   SETMOD dcte -include sdcte
  1271. $   ADDMOD dcte -obj 'dcte_'
  1272. $   ADDMOD dcte -oper zfdcte
  1273. $   ADD_DEV_MODULES = "''dcte_'"
  1274. $   GOSUB ADD_DEV_MOD
  1275. $   RETURN
  1276. $ !
  1277. $! Decoding (decompression)
  1278. $ DCTD_DEV:
  1279. $   IF F$TYPE(dctd_) .NES. "" THEN RETURN
  1280. $   dctd_ = "''dctc_' zfdctd.obj"
  1281. $   GOSUB SDCTD_DEV
  1282. $   SETMOD dctd -include sdctd
  1283. $   ADDMOD dctd -obj 'dctd_'
  1284. $   ADDMOD dctd -oper zfdctd
  1285. $   ADD_DEV_MODULES = "''dctd_'"
  1286. $   GOSUB ADD_DEV_MOD
  1287. $   RETURN
  1288. $ !
  1289. $! ---------------- zlib/Flate filters ---------------- #
  1290. $ FZLIB_DEV:
  1291. $   GOSUB SZLIBE_DEV
  1292. $   GOSUB SZLIBD_DEV
  1293. $   SETMOD fzlib -include szlibe szlibd
  1294. $   ADDMOD fzlib -obj zfzlib.obj
  1295. $   ADDMOD fzlib -oper zfzlib
  1296. $   ADD_DEV_MODULES = "zfzlib.obj"
  1297. $   GOSUB ADD_DEV_MOD
  1298. $   RETURN
  1299. $ !
  1300. $! ================================ PDF ================================ #
  1301. $ PDFMIN_DEV:
  1302. $   GOSUB PSBASE_DEV
  1303. $   GOSUB COLOR_DEV
  1304. $   GOSUB DPS2LIB_DEV
  1305. $   GOSUB DPS2READ_DEV
  1306. $   GOSUB FDECODE_DEV
  1307. $   GOSUB TYPE1_DEV
  1308. $   GOSUB PDFFONTS_DEV
  1309. $   GOSUB PSL2LIB_DEV
  1310. $   GOSUB PSL2READ_DEV
  1311. $   GOSUB PDFREAD_DEV
  1312. $   SETMOD pdfmin -include psbase color dps2lib dps2read
  1313. $   ADDMOD pdfmin -include fdecode type1
  1314. $   ADDMOD pdfmin -include pdffonts psl2lib psl2read pdfread
  1315. $   ADDMOD pdfmin -emulator """PDF"""
  1316. $   RETURN
  1317. $ !
  1318. $ PDF_DEV:
  1319. $   GOSUB PDFMIN_DEV
  1320. $   GOSUB CFF_DEV
  1321. $   GOSUB CIDFONT_DEV
  1322. $   GOSUB CIE_DEV
  1323. $   GOSUB COMPFONT_DEV
  1324. $   GOSUB CMAPREAD_DEV
  1325. $   GOSUB DCTD_DEV
  1326. $   GOSUB TTFONT_DEV
  1327. $   GOSUB TYPE2_dev
  1328. $   SETMOD pdf -include pdfmin cff cidfont cie cmapread
  1329. $   ADDMOD pdf -include compfont dctd ttfont type2
  1330. $   RETURN
  1331. $ !
  1332. $! Reader only
  1333. $ PDFFONTS_DEV:
  1334. $   SETMOD pdffonts -ps gs_mex_e gs_mro_e gs_pdf_e gs_wan_e
  1335. $   RETURN
  1336. $ !
  1337. $ PDFREAD_DEV:
  1338. $   GOSUB FZLIB_DEV
  1339. $   SETMOD pdfread -include fzlib
  1340. $   ADDMOD pdfread -ps gs_pdf gs_l2img
  1341. $   ADDMOD pdfread -ps pdf_base pdf_draw pdf_font pdf_main pdf_sec
  1342. $   ADDMOD pdfread -ps pdf_2ps
  1343. $   RETURN
  1344. $ !
  1345. $ JPEGC_DEV:
  1346. $   IF F$TYPE(jpegc_) .NES. "" THEN RETURN
  1347. $   jpegc_ = "jcomapi.obj jutils.obj sjpegerr.obj jmemmgr.obj"
  1348. $   COPY GSJCONF.H JCONFIG.H
  1349. $   COPY GSJMOREC.H JMORECFG.H
  1350. $   COPY 'JSRCDIR'JMORECFG.H []JMCORIG.H
  1351. $   COPY 'JSRCDIR'JERROR.H   []JERROR.H
  1352. $   COPY 'JSRCDIR'JINCLUDE.H []JINCLUDE.H
  1353. $   COPY 'JSRCDIR'JPEGLIB.H  []JPEGLIB.H
  1354. $   COPY 'JSRCDIR'JVERSION.H []JVERSION.H
  1355. $   SETMOD JPEGC 'jpegc_'
  1356. $   ADD_DEV_MODULES = "''JSRCDIR'jcomapi.obj ''JSRCDIR'jutils.obj " +-
  1357.      "sjpegerr.obj ''JSRCDIR'jmemmgr.obj"
  1358. $   GOSUB ADD_DEV_MOD
  1359. $   RETURN
  1360. $ !
  1361. $ JPEGE_DEV:
  1362. $   IF F$TYPE(jpege6) .NES. "" THEN RETURN
  1363. $   jpege5 = "jcapi.obj"
  1364. $   jpege6 = "jcapimin.obj jcapistd.obj jcinit.obj"
  1365. $   jpege_1 = "jccoefct.obj jccolor.obj jcdctmgr.obj"
  1366. $   jpege_2 = "jchuff.obj jcmainct.obj jcmarker.obj jcmaster.obj"
  1367. $   jpege_3 = "jcparam.obj jcprepct.obj jcsample.obj jfdctint.obj"
  1368. $   GOSUB JPEGC_DEV
  1369. $   IF JVERSION .EQ. 5 THEN SETMOD jpege 'jpege5'
  1370. $   IF JVERSION .EQ. 6 THEN SETMOD jpege 'jpege6'
  1371. $   ADDMOD jpege -include jpegc
  1372. $   ADDMOD jpege -obj 'jpege_1'
  1373. $   ADDMOD jpege -obj 'jpege_2'
  1374. $   ADDMOD jpege -obj 'jpege_3'
  1375. $   IF JVERSION .EQ. 5 THEN ADD_DEV_MODULES = "''JSRCDIR'jcapi.obj"
  1376. $   IF JVERSION .EQ. 6 THEN ADD_DEV_MODULES = "''JSRCDIR'jcapimin.obj " +-
  1377.      "''JSRCDIR'jcapistd.obj ''JSRCDIR'jcinit.obj"
  1378. $   GOSUB ADD_DEV_MOD
  1379. $   ADD_DEV_MODULES = "''JSRCDIR'jccoefct.obj ''JSRCDIR'jccolor.obj " +-
  1380.      "''JSRCDIR'jcdctmgr.obj"
  1381. $   GOSUB ADD_DEV_MOD
  1382. $   ADD_DEV_MODULES = "''JSRCDIR'jchuff.obj ''JSRCDIR'jcmainct.obj " +-
  1383.      "''JSRCDIR'jcmarker.obj ''JSRCDIR'jcmaster.obj"
  1384. $   GOSUB ADD_DEV_MOD
  1385. $   ADD_DEV_MODULES = "''JSRCDIR'jcparam.obj ''JSRCDIR'jcprepct.obj " +-
  1386.      "''JSRCDIR'jcsample.obj ''JSRCDIR'jfdctint.obj"
  1387. $   GOSUB ADD_DEV_MOD
  1388. $   RETURN
  1389. $ !
  1390. $ JPEGD_DEV:
  1391. $   IF F$TYPE(jpegd6) .NES. "" THEN RETURN
  1392. $   jpegd5 = "jdapi.obj"
  1393. $   jpegd6 = "jdapimin.obj jdapistd.obj jdinput.obj jdphuff.obj"
  1394. $   jpegd_1 = "jdcoefct.obj jdcolor.obj"
  1395. $   jpegd_2 = "jddctmgr.obj jdhuff.obj jdmainct.obj jdmarker.obj"
  1396. $   jpegd_3 = "jdmaster.obj jdpostct.obj jdsample.obj jidctint.obj"
  1397. $   GOSUB JPEGC_DEV
  1398. $   IF JVERSION .EQ. 5 THEN SETMOD jpegd 'jpegd5'
  1399. $   IF JVERSION .EQ. 6 THEN SETMOD jpegd 'jpegd6'
  1400. $   ADDMOD jpegd -include jpegc
  1401. $   ADDMOD jpegd -obj 'jpegd_1'
  1402. $   ADDMOD jpegd -obj 'jpegd_2'
  1403. $   ADDMOD jpegd -obj 'jpegd_3'
  1404. $   IF JVERSION .EQ. 5 THEN ADD_DEV_MODULES = "''JSRCDIR'jdapi.obj"
  1405. $   IF JVERSION .EQ. 6 THEN ADD_DEV_MODULES = "''JSRCDIR'jdapimin.obj " +-
  1406.      "''JSRCDIR'jdapistd.obj ''JSRCDIR'jdinput.obj ''JSRCDIR'jdphuff.obj"
  1407. $   GOSUB ADD_DEV_MOD
  1408. $   ADD_DEV_MODULES = "''JSRCDIR'jdcoefct.obj ''JSRCDIR'jdcolor.obj"
  1409. $   GOSUB ADD_DEV_MOD
  1410. $   ADD_DEV_MODULES = "''JSRCDIR'jddctmgr.obj ''JSRCDIR'jdhuff.obj " +-
  1411.      "''JSRCDIR'jdmainct.obj ''JSRCDIR'jdmarker.obj"
  1412. $   GOSUB ADD_DEV_MOD
  1413. $   ADD_DEV_MODULES = "''JSRCDIR'jdmaster.obj ''JSRCDIR'jdpostct.obj " +-
  1414.      "''JSRCDIR'jdsample.obj ''JSRCDIR'jidctint.obj"
  1415. $   GOSUB ADD_DEV_MOD
  1416. $   RETURN
  1417. $ !
  1418. $ LIBPNG_DEV:
  1419. $   IF F$TYPE(png_) .NES. "" THEN RETURN
  1420. $   png_1 = "png.obj pngmem.obj pngerror.obj"
  1421. $   png_2 = "pngtrans.obj pngwrite.obj pngwtran.obj pngwutil.obj"
  1422. $   png_  = "gdevpng.obj gdevpccm.obj gdevprn.obj"
  1423. $   COPY 'PSRCDIR'PNG.H     []PNG.H
  1424. $   COPY 'PSRCDIR'PNGCONF.H []PNGCONF.H
  1425. $   GOSUB ZLIBE_DEV
  1426. $   IF PVERSION .EQ. 88 THEN SETMOD libpng "pngio.obj"
  1427. $   IF PVERSION .EQ. 89 THEN SETMOD libpng "pngwio.obj"
  1428. $   IF PVERSION .GE. 90
  1429. $     THEN
  1430. $       GOSUB CRC32_DEV
  1431. $       SETMOD libpng "pngwio.obj" -include crc32
  1432. $     ENDIF
  1433. $   ADDMOD libpng -obj 'png_1'
  1434. $   ADDMOD libpng -obj 'png_2'
  1435. $   ADDMOD libpng -include zlibe
  1436. $   ADD_DEV_MODULES = "''PSRCDIR'png.obj ''PSRCDIR'pngmem.obj "
  1437. $   IF PVERSION .EQ. 88 THEN ADD_DEV_MODULES = ADD_DEV_MODULES +-
  1438.      "''PSRCDIR'pngio.obj ''PSRCDIR'pngerror.obj"
  1439. $   IF PVERSION .GT. 89 THEN ADD_DEV_MODULES = ADD_DEV_MODULES +-
  1440.      "''PSRCDIR'pngwio.obj ''PSRCDIR'pngerror.obj"
  1441. $   GOSUB ADD_DEV_MOD
  1442. $   ADD_DEV_MODULES = "''PSRCDIR'pngtrans.obj ''PSRCDIR'pngwrite.obj " +-
  1443.      "''PSRCDIR'pngwtran.obj ''PSRCDIR'pngwutil.obj"
  1444. $   GOSUB ADD_DEV_MOD
  1445. $   ADD_DEV_MODULES = "''png_'"
  1446. $   GOSUB ADD_DEV_MOD
  1447. $   RETURN
  1448. $ !
  1449. $! Code common to compression and decompression.
  1450. $ ZLIBC_DEV:
  1451. $   COPY 'ZSRCDIR'ZCONF.H   []ZCONF.H
  1452. $   COPY 'ZSRCDIR'ZLIB.H    []ZLIB.H
  1453. $   COPY 'ZSRCDIR'ZUTIL.H   []ZUTIL.H
  1454. $   COPY 'ZSRCDIR'DEFLATE.H []DEFLATE.H
  1455. $   zlibc_ = "zutil.obj"
  1456. $   SETMOD zlibc 'zlibc_'
  1457. $   ADD_DEV_MODULES = "''ZSRCDIR'zutil.obj"
  1458. $   GOSUB ADD_DEV_MOD
  1459. $   RETURN
  1460. $ !
  1461. $! Encoding (compression) code.
  1462. $ ZLIBE_DEV:
  1463. $   IF F$TYPE(zlibe_) .NES. "" THEN RETURN
  1464. $   zlibe_ = "adler32.obj deflate.obj trees.obj"
  1465. $   GOSUB ZLIBC_DEV
  1466. $   SETMOD zlibe 'zlibe_'
  1467. $   ADDMOD zlibe -include zlibc
  1468. $   ADD_DEV_MODULES = "''ZSRCDIR'adler32.obj ''ZSRCDIR'deflate.obj " +-
  1469.      "''ZSRCDIR'trees.obj"
  1470. $   GOSUB ADD_DEV_MOD
  1471. $   RETURN
  1472. $ !
  1473. $! The zlib filters per se don't need crc32, but libpng versions starting
  1474. $! with 0.90 do.
  1475. $ CRC32_DEV:
  1476. $   SETMOD crc32 "crc32.obj"
  1477. $   ADD_DEV_MODULES = "''ZSRCDIR'crc32.obj"
  1478. $   GOSUB ADD_DEV_MOD
  1479. $   RETURN
  1480. $ !
  1481. $! Decoding (decompression) code.
  1482. $ ZLIBD_DEV:
  1483. $   IF F$TYPE(zlibd_) .NES. "" THEN RETURN
  1484. $   zlibd1_ = "infblock.obj infcodes.obj inffast.obj"
  1485. $   zlibd2_ = "inflate.obj inftrees.obj infutil.obj"
  1486. $   zlibd_  = "''zlibd1_' ''zlibd2_'"
  1487. $   GOSUB ZLIBC_DEV
  1488. $   SETMOD zlibd 'zlibd1_'
  1489. $   ADDMOD zlibd -obj 'zlibd2_'
  1490. $   ADDMOD zlibe -include zlibc
  1491. $   ADD_DEV_MODULES =-
  1492.      "''ZSRCDIR'infblock.obj ''ZSRCDIR'infcodes.obj ''ZSRCDIR'inffast.obj " +-
  1493.      "''ZSRCDIR'inflate.obj ''ZSRCDIR'inftrees.obj ''ZSRCDIR'infutil.obj"
  1494. $   GOSUB ADD_DEV_MOD
  1495. $   RETURN
  1496. $ !
  1497. $ X11DEV_INIT:
  1498. $   x11_  = "gdevx.obj gdevxini.obj gdevxxf.obj gdevemap.obj"
  1499. $   x11alt_ = "''x11_' gdevxalt.obj"
  1500. $   XLIBS = "Xt Xext X11"
  1501. $   ADD_DEV_MODULES = "''x11alt_'"
  1502. $   GOSUB ADD_DEV_MOD
  1503. $   RETURN
  1504. $ !
  1505. $ X11_DEV:
  1506. $   IF F$TYPE(x11_) .EQS. "" THEN GOSUB X11DEV_INIT
  1507. $   SETDEV x11 'x11_'
  1508. $   ADDMOD x11 -lib 'XLIBS'
  1509. $   RETURN
  1510. $ !
  1511. $ X11ALPHA_DEV:
  1512. $   IF F$TYPE(x11_) .EQS. "" THEN GOSUB X11DEV_INIT
  1513. $   SETDEV x11alpha 'x11alt_'
  1514. $   ADDMOD x11alpha -lib 'XLIBS'
  1515. $   RETURN
  1516. $ !
  1517. $ X11CMYK_DEV:
  1518. $   IF F$TYPE(x11_) .EQS. "" THEN GOSUB X11DEV_INIT
  1519. $   SETDEV x11cmyk 'x11alt_'
  1520. $   ADDMOD x11cmyk -lib 'XLIBS'
  1521. $   RETURN
  1522. $ !
  1523. $ X11GRAY2_DEV:
  1524. $   IF F$TYPE(x11_) .EQS. "" THEN GOSUB X11DEV_INIT
  1525. $   SETDEV x11gray2 'x11alt_'
  1526. $   ADDMOD x11gray2 -lib 'XLIBS'
  1527. $   RETURN
  1528. $ !
  1529. $ X11MONO_DEV:
  1530. $   IF F$TYPE(x11_) .EQS. "" THEN GOSUB X11DEV_INIT
  1531. $   SETDEV x11mono 'x11alt_'
  1532. $   ADDMOD x11mono -lib 'XLIBS'
  1533. $   RETURN
  1534. $ !
  1535. $ LN03_INIT:
  1536. $   ln03_ = "gdevln03.obj gdevprn.obj"
  1537. $   ADD_DEV_MODULES = "''ln03_'"
  1538. $   GOSUB ADD_DEV_MOD
  1539. $   RETURN
  1540. $ !
  1541. $ SXLCRT_DEV:
  1542. $   IF F$TYPE(ln03_) .EQS. "" THEN GOSUB LN03_INIT
  1543. $   SETDEV sxlcrt 'ln03_'
  1544. $   RETURN
  1545. $ !
  1546. $ BJDEV_INIT:
  1547. $   bj10e_ = "gdevbj10.obj gdevprn.obj"
  1548. $   GOSUB CLIST_DEV
  1549. $   ADD_DEV_MODULES = "''bj10e_'"
  1550. $   GOSUB ADD_DEV_MOD
  1551. $   RETURN
  1552. $ !
  1553. $ BJ10E_DEV:
  1554. $   IF F$TYPE(bj10e_) .EQS. "" THEN GOSUB BJDEV_INIT
  1555. $   SETDEV bj10e 'bj10e_'
  1556. $   RETURN
  1557. $ !
  1558. $ BJ200_DEV:
  1559. $   IF F$TYPE(bj10e_) .EQS. "" THEN GOSUB BJDEV_INIT
  1560. $   SETDEV bj200 'bj10e_'
  1561. $   RETURN
  1562. $ !
  1563. $ HPMONO_INIT:
  1564. $   HPPCL     = "gdevprn.obj gdevpcl.obj"
  1565. $   HPMONO    = "gdevdjet.obj ''HPPCL'"
  1566. $   GOSUB CLIST_DEV
  1567. $   ADD_DEV_MODULES = "''HPMONO'"
  1568. $   GOSUB ADD_DEV_MOD
  1569. $   RETURN
  1570. $ !
  1571. $ DESKJET_DEV:
  1572. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1573. $   SETDEV deskjet 'HPMONO'
  1574. $   RETURN
  1575. $ !
  1576. $ DJET500_DEV:
  1577. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1578. $   SETDEV djet500 'HPMONO'
  1579. $   RETURN
  1580. $ !
  1581. $ LASERJET_DEV:
  1582. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1583. $   SETDEV laserjet 'HPMONO'
  1584. $   RETURN
  1585. $ !
  1586. $ LJETPLUS_DEV:
  1587. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1588. $   SETDEV ljetplus 'HPMONO'
  1589. $   RETURN
  1590. $ !
  1591. $ LJET2P_DEV:
  1592. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1593. $   SETDEV ljet2p 'HPMONO'
  1594. $   RETURN
  1595. $ !
  1596. $ LJET3_DEV:
  1597. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1598. $   SETDEV ljet3 'HPMONO'
  1599. $   RETURN
  1600. $ !
  1601. $ LJET4_DEV:
  1602. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1603. $   SETDEV ljet4 'HPMONO'
  1604. $   RETURN
  1605. $ !
  1606. $ LP2563_DEV:
  1607. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1608. $   SETDEV lp2563 'HPMONO'
  1609. $   RETURN
  1610. $ !
  1611. $ OCE9050_DEV:
  1612. $   IF F$TYPE(HPMONO) .EQS. "" THEN GOSUB HPMONO_INIT
  1613. $   SETDEV oce9050 'HPMONO'
  1614. $   RETURN
  1615. $ !
  1616. $ LJ5INIT_INIT:
  1617. $   HPPCL     = "gdevprn.obj gdevpcl.obj"
  1618. $   ljet5_    = "gdevlj56.obj ''HPPCL'"
  1619. $   GOSUB CLIST_DEV
  1620. $   ADD_DEV_MODULES = "''ljet5_'"
  1621. $   GOSUB ADD_DEV_MOD
  1622. $   RETURN
  1623. $ !
  1624. $ LJ5MONO_DEV:
  1625. $   IF F$TYPE(ljet5_) .EQS. "" THEN GOSUB LJ5INIT_INIT
  1626. $   SETDEV lj5mono 'ljet5_'
  1627. $   RETURN
  1628. $ !
  1629. $ LJ5GRAY_DEV:
  1630. $   IF F$TYPE(ljet5_) .EQS. "" THEN GOSUB LJ5INIT_INIT
  1631. $   SETDEV lj5gray 'ljet5_'
  1632. $   RETURN
  1633. $ !
  1634. $ HPDEV_INIT:
  1635. $   HPPCL     = "gdevprn.obj gdevpcl.obj"
  1636. $   cdeskjet_ = "gdevcdj.obj ''HPPCL'"
  1637. $   GOSUB CLIST_DEV
  1638. $   ADD_DEV_MODULES = "''cdeskjet_'"
  1639. $   GOSUB ADD_DEV_MOD
  1640. $   RETURN
  1641. $ !
  1642. $ CDESKJET_DEV:
  1643. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1644. $   SETDEV cdeskjet 'cdeskjet_'
  1645. $   RETURN
  1646. $ !
  1647. $ CDJCOLOR_DEV:
  1648. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1649. $   SETDEV cdjcolor 'cdeskjet_'
  1650. $   RETURN
  1651. $ !
  1652. $ CDJMONO_DEV:
  1653. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1654. $   SETDEV cdjmono 'cdeskjet_'
  1655. $   RETURN
  1656. $ !
  1657. $ CDJ550_DEV:
  1658. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1659. $   SETDEV cdj550 'cdeskjet_'
  1660. $   RETURN
  1661. $ !
  1662. $ DECLJ250_DEV:
  1663. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1664. $   SETDEV declj250 'cdeskjet_'
  1665. $   RETURN
  1666. $ !
  1667. $ DNJ650C_DEV:
  1668. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1669. $   SETDEV dnj650c 'cdeskjet_'
  1670. $   RETURN
  1671. $ !
  1672. $ LJ4DITH_DEV:
  1673. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1674. $   SETDEV lj4dith 'cdeskjet_'
  1675. $   RETURN
  1676. $ !
  1677. $ PJ_DEV:
  1678. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1679. $   SETDEV pj 'cdeskjet_'
  1680. $   RETURN
  1681. $ !
  1682. $ PJXL_DEV:
  1683. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1684. $   SETDEV pjxl 'cdeskjet_'
  1685. $   RETURN
  1686. $ !
  1687. $ PJXL300_DEV:
  1688. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1689. $   SETDEV pjxl300 'cdeskjet_'
  1690. $   RETURN
  1691. $ !
  1692. $ BJC600_DEV:
  1693. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1694. $   SETDEV bjc600 'cdeskjet_'
  1695. $   RETURN
  1696. $ !
  1697. $ BJC800_DEV:
  1698. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1699. $   SETDEV bjc800 'cdeskjet_'
  1700. $   RETURN
  1701. $ !
  1702. $ ESCP_DEV:
  1703. $   IF F$TYPE(cdeskjet_) .EQS. "" THEN GOSUB HPDEV_INIT
  1704. $   SETDEV escp 'cdeskjet_'
  1705. $   RETURN
  1706. $ !
  1707. $ LN03_DEV:
  1708. $   IF F$TYPE(ln03_) .EQS. "" THEN GOSUB LN03_INIT
  1709. $   SETDEV ln03 'ln03'
  1710. $   RETURN
  1711. $ !
  1712. $ LA50_DEV:
  1713. $   IF F$TYPE(ln03_) .EQS. "" THEN GOSUB LN03_INIT
  1714. $   SETDEV la50 'ln03'
  1715. $   RETURN
  1716. $ !
  1717. $ LA70_DEV:
  1718. $   IF F$TYPE(ln03_) .EQS. "" THEN GOSUB LN03_INIT
  1719. $   SETDEV la70 'ln03'
  1720. $   RETURN
  1721. $ !
  1722. $ LA75_DEV:
  1723. $   IF F$TYPE(ln03_) .EQS. "" THEN GOSUB LN03_INIT
  1724. $   SETDEV la75 'ln03'
  1725. $   RETURN
  1726. $ !
  1727. $ LA75PLUS_DEV:
  1728. $   IF F$TYPE(ln03_) .EQS. "" THEN GOSUB LN03_INIT
  1729. $   SETDEV la75plus 'ln03'
  1730. $   RETURN
  1731. $ !
  1732. $ LA70T_DEV:
  1733. $   la70t_ = "gdevla7t.obj"
  1734. $   SETDEV la70t 'la70t_'
  1735. $   ADD_DEV_MODULES = "''la70t_'"
  1736. $   GOSUB ADD_DEV_MOD
  1737. $   RETURN
  1738. $ !
  1739. $ TEK4696_DEV:
  1740. $   tek4696_ = "gdevtknk.obj gdevprn.obj"
  1741. $   SETDEV tek4696 'tek4696_'
  1742. $   ADD_DEV_MODULES = "''tek4696_'"
  1743. $   GOSUB ADD_DEV_MOD
  1744. $   RETURN
  1745. $ !
  1746. $ DFAX_INIT:
  1747. $   dfax_ = "gdevdfax.obj gdevtfax.obj"
  1748. $   ADD_DEV_MODULES = "''dfax_'"
  1749. $   GOSUB ADD_DEV_MOD
  1750. $   RETURN
  1751. $ !
  1752. $ DFAXLOW_DEV:
  1753. $   IF F$TYPE(dfax_) .EQS. "" THEN GOSUB DFAX_INIT
  1754. $   SETDEV dfaxlow "''dfax_'"
  1755. $   ADDMOD  dfaxlow -include cfe
  1756. $   RETURN
  1757. $ !
  1758. $ DFAXHIGH_DEV:
  1759. $   IF F$TYPE(dfax_) .EQS. "" THEN GOSUB DFAX_INIT
  1760. $   SETDEV dfaxhigh "''dfax_'"
  1761. $   ADDMOD  dfaxhigh -include cfe
  1762. $   RETURN
  1763. $ !
  1764. $! PostScript and EPS writers
  1765. $ PSWRITE_INI:
  1766. $   IF F$TYPE(pswrite_) .NES. "" THEN RETURN
  1767. $   pswrite1_ = "gdevps.obj gdevpsdf.obj gdevpstr.obj"
  1768. $   pswrite2_ = "scantab.obj sfilter2.obj"
  1769. $   pswrite_  = "''pswrite1_' ''pswrite2_'"
  1770. $   ADD_DEV_MODULES = "''pswrite_'"
  1771. $   GOSUB ADD_DEV_MOD
  1772. $   RETURN
  1773. $ !
  1774. $ EPSWRITE_DEV:
  1775. $   GOSUB PSWRITE_INI
  1776. $   GOSUB VECTOR_DEV
  1777. $   SETDEV epswrite "''pswrite1_'"
  1778. $   ADDMOD epswrite "''pswrite2_'"
  1779. $   ADDMOD epswrite -include vector
  1780. $   RETURN
  1781. $ !
  1782. $ PSWRITE_DEV:
  1783. $   GOSUB PSWRITE_INI
  1784. $   GOSUB VECTOR_DEV
  1785. $   SETDEV pswrite "''pswrite1_'"
  1786. $   ADDMOD pswrite "''pswrite2_'"
  1787. $   ADDMOD pswrite -include vector
  1788. $   RETURN
  1789. $ !
  1790. $! PDF writer
  1791. $ PDFWRITE_DEV:
  1792. $   pdfwrite1_ = "gdevpdf.obj gdevpdfi.obj gdevpdfm.obj"
  1793. $   pdfwrite2_ = "gdevpdfp.obj gdevpdft.obj gdevpsdf.obj gdevpstr.obj"
  1794. $   pdfwrite3_ = "gsflip.obj scantab.obj sfilter2.obj sstring.obj"
  1795. $   pdfwrite_  = "''pdfwrite1_' ''pdfwrite2_' ''pdfwrite3_'"
  1796. $   GOSUB CMYKLIB_DEV
  1797. $   GOSUB CFE_DEV
  1798. $   GOSUB DCTE_DEV
  1799. $   GOSUB LZWE_DEV
  1800. $   GOSUB RLE_DEV
  1801. $   GOSUB VECTOR_DEV
  1802. $   SETDEV pdfwrite 'pdfwrite1_'
  1803. $   ADDMOD pdfwrite 'pdfwrite2_'
  1804. $   ADDMOD pdfwrite 'pdfwrite3_'
  1805. $   ADDMOD pdfwrite -ps gs_pdfwr
  1806. $   ADDMOD pdfwrite -include cmyklib cfe dcte lzwe rle vector
  1807. $   ADD_DEV_MODULES = "''pdfwrite_'"
  1808. $   GOSUB ADD_DEV_MOD
  1809. $   RETURN
  1810. $ !
  1811. $ PXLDEV_INIT:
  1812. $   pxl_ = "gdevpx.obj"
  1813. $   GOSUB VECTOR_DEV
  1814. $   ADD_DEV_MODULES = "''pxl_'"
  1815. $   GOSUB ADD_DEV_MOD
  1816. $   RETURN
  1817. $ !
  1818. $ PXLMONO_DEV:
  1819. $   IF F$TYPE(pxl_) .EQS. "" THEN GOSUB PXLDEV_INIT
  1820. $   SETDEV pxlmono "''pxl_'"
  1821. $   ADDMOD pxlmono -include vector
  1822. $   RETURN
  1823. $ !
  1824. $ PXLCOLOR_DEV:
  1825. $   IF F$TYPE(pxl_) .EQS. "" THEN GOSUB PXLDEV_INIT
  1826. $   SETDEV pxlcolor "''pxl_'"
  1827. $   ADDMOD pxlcolor -include vector
  1828. $   RETURN
  1829. $ !
  1830. $ BITDEV_INIT:
  1831. $   bit_ = "gdevbit.obj gdevprn.obj"
  1832. $   GOSUB CLIST_DEV
  1833. $   ADD_DEV_MODULES = "''bit_'"
  1834. $   GOSUB ADD_DEV_MOD
  1835. $   RETURN
  1836. $ !
  1837. $ BIT_DEV:
  1838. $   IF F$TYPE(bit_) .EQS. "" THEN GOSUB BITDEV_INIT
  1839. $   SETDEV bit 'bit_'
  1840. $   RETURN
  1841. $ !
  1842. $ BITRGB_DEV:
  1843. $   IF F$TYPE(bit_) .EQS. "" THEN GOSUB BITDEV_INIT
  1844. $   SETDEV bitrgb 'bit_'
  1845. $   RETURN
  1846. $ !
  1847. $ BITCMYK_DEV:
  1848. $   IF F$TYPE(bit_) .EQS. "" THEN GOSUB BITDEV_INIT
  1849. $   SETDEV bitcmyk 'bit_'
  1850. $   RETURN
  1851. $ !
  1852. $ BMPDEV_INIT:
  1853. $   bmp_ = "gdevbmp.obj gdevpccm.obj gdevprn.obj"
  1854. $   ADD_DEV_MODULES = "''bmp_'"
  1855. $   GOSUB ADD_DEV_MOD
  1856. $   RETURN
  1857. $ !
  1858. $ BMPMONO_DEV:
  1859. $   IF F$TYPE(bmp_) .EQS. "" THEN GOSUB BMPDEV_INIT
  1860. $   SETDEV bmpmono 'bmp_'
  1861. $   RETURN
  1862. $ !
  1863. $ BMP16_DEV:
  1864. $   IF F$TYPE(bmp_) .EQS. "" THEN GOSUB BMPDEV_INIT
  1865. $   SETDEV bmp16 'bmp_'
  1866. $   RETURN
  1867. $ !
  1868. $ BMP256_DEV:
  1869. $   IF F$TYPE(bmp_) .EQS. "" THEN GOSUB BMPDEV_INIT
  1870. $   SETDEV bmp256 'bmp_'
  1871. $   RETURN
  1872. $ !
  1873. $ BMP16M_DEV:
  1874. $   IF F$TYPE(bmp_) .EQS. "" THEN GOSUB BMPDEV_INIT
  1875. $   SETDEV bmp16m 'bmp_'
  1876. $   RETURN
  1877. $ !
  1878. $ CGMDEV_INIT:
  1879. $   cgm_ = "gdevcgm.obj gdevcgml.obj"
  1880. $   ADD_DEV_MODULES = "''cgm_'"
  1881. $   GOSUB ADD_DEV_MOD
  1882. $   RETURN
  1883. $ !
  1884. $ CGMMONO_DEV:
  1885. $   IF F$TYPE(cgm_) .EQS. "" THEN GOSUB CGMDEV_INIT
  1886. $   SETDEV cgmmono 'cgm_'
  1887. $   RETURN
  1888. $ !
  1889. $ CGM8_DEV:
  1890. $   IF F$TYPE(cgm_) .EQS. "" THEN GOSUB CGMDEV_INIT
  1891. $   SETDEV cgm8 'cgm_'
  1892. $   RETURN
  1893. $ !
  1894. $ CGM24_DEV:
  1895. $   IF F$TYPE(cgm_) .EQS. "" THEN GOSUB CGMDEV_INIT
  1896. $   SETDEV cgm24 'cgm_'
  1897. $   RETURN
  1898. $ !
  1899. $!### ------------------------- JPEG file format ------------------------- ###
  1900. $ JPEG_INI:
  1901. $   IF F$TYPE(jpeg_) .NES. "" THEN RETURN
  1902. $   jpeg_="gdevjpeg.obj"
  1903. $   ADD_DEV_MODULES = "''jpeg_'"
  1904. $   GOSUB ADD_DEV_MOD
  1905. $   RETURN
  1906. $ !
  1907. $! RGB output
  1908. $ JPEG_DEV: 
  1909. $   GOSUB JPEG_INI
  1910. $   GOSUB SDCTE_DEV
  1911. $   SETDEV jpeg "''jpeg_'"
  1912. $   ADDMOD jpeg -include sdcte
  1913. $   RETURN
  1914. $ !
  1915. $! Gray output
  1916. $ JPEGGRAY_DEV:
  1917. $   GOSUB JPEG_INI
  1918. $   GOSUB SDCTE_DEV
  1919. $   SETDEV jpeggray "''jpeg_'"
  1920. $   ADDMOD jpeggray -include sdcte
  1921. $   RETURN
  1922. $ !
  1923. $ PCXDEV_INIT:
  1924. $   pcx_ = "gdevpcx.obj gdevpccm.obj gdevprn.obj"
  1925. $   GOSUB CLIST_DEV
  1926. $   ADD_DEV_MODULES = "''pcx_'"
  1927. $   GOSUB ADD_DEV_MOD
  1928. $   RETURN
  1929. $ !
  1930. $ PCXMONO_DEV:
  1931. $   IF F$TYPE(pcx_) .EQS. "" THEN GOSUB PCXDEV_INIT
  1932. $   SETDEV pcxmono 'pcx_'
  1933. $   RETURN
  1934. $ !
  1935. $ PCXGRAY_DEV:
  1936. $   IF F$TYPE(pcx_) .EQS. "" THEN GOSUB PCXDEV_INIT
  1937. $   SETDEV pcxgray 'pcx_'
  1938. $   RETURN
  1939. $ !
  1940. $ PCX16_DEV:
  1941. $   IF F$TYPE(pcx_) .EQS. "" THEN GOSUB PCXDEV_INIT
  1942. $   SETDEV pcx16 'pcx_'
  1943. $   RETURN
  1944. $ !
  1945. $ PCX256_DEV:
  1946. $   IF F$TYPE(pcx_) .EQS. "" THEN GOSUB PCXDEV_INIT
  1947. $   SETDEV pcx256 'pcx_'
  1948. $   RETURN
  1949. $ !
  1950. $ PCX24B_DEV:
  1951. $   IF F$TYPE(pcx_) .EQS. "" THEN GOSUB PCXDEV_INIT
  1952. $   SETDEV pcx24b 'pcx_'
  1953. $   RETURN
  1954. $ !
  1955. $ PCXCMYK_DEV:
  1956. $   IF F$TYPE(pcx_) .EQS. "" THEN GOSUB PCXDEV_INIT
  1957. $   SETDEV pcxcmyk 'pcx_'
  1958. $   RETURN
  1959. $ !
  1960. $! The 2-up PCX device is also here only as an example, and for testing.
  1961. $ PCX2UP_DEV:
  1962. $   GOSUB PCX256_DEV
  1963. $   SETDEV pcx2up "gdevp2up.obj"
  1964. $   ADDMOD pcx2up -include pcx256
  1965. $   ADD_DEV_MODULES = "gdev2up.obj gdevprn.obj"
  1966. $   GOSUB ADD_DEV_MOD
  1967. $   RETURN
  1968. $ !
  1969. $! ### ------------------- Portable Bitmap file formats ------------------- ###
  1970. $ PBMDEV_INIT:
  1971. $   pxm_ = "gdevpbm.obj gdevprn.obj"
  1972. $   GOSUB CLIST_DEV
  1973. $   ADD_DEV_MODULES = "''pxm_'"
  1974. $   GOSUB ADD_DEV_MOD
  1975. $   RETURN
  1976. $ !
  1977. $ PBM_DEV:
  1978. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  1979. $   SETDEV pbm 'pxm_'
  1980. $   RETURN
  1981. $ !
  1982. $ PBMRAW_DEV:
  1983. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  1984. $   SETDEV pbmraw 'pxm_'
  1985. $   RETURN
  1986. $ !
  1987. $ PGM_DEV:
  1988. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  1989. $   SETDEV pgm 'pxm_'
  1990. $   RETURN
  1991. $ !
  1992. $ PGMRAW_DEV:
  1993. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  1994. $   SETDEV pgmraw 'pxm_'
  1995. $   RETURN
  1996. $ !
  1997. $ PGNM_DEV:
  1998. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  1999. $   SETDEV pgnm 'pxm_'
  2000. $   RETURN
  2001. $ !
  2002. $ PGNMRAW_DEV:
  2003. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  2004. $   SETDEV pgnmraw 'pxm_'
  2005. $   RETURN
  2006. $ !
  2007. $ PPM_DEV:
  2008. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  2009. $   SETDEV ppm 'pxm_'
  2010. $   RETURN
  2011. $ !
  2012. $ PPMRAW_DEV:
  2013. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  2014. $   SETDEV ppmraw 'pxm_'
  2015. $   RETURN
  2016. $ !
  2017. $ PNM_DEV:
  2018. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  2019. $   SETDEV pnm 'pxm_'
  2020. $   RETURN
  2021. $ !
  2022. $ PNMRAW_DEV:
  2023. $   IF F$TYPE(pxm_) .EQS. "" THEN GOSUB PBMDEV_INIT
  2024. $   SETDEV pnmraw 'pxm_'
  2025. $   RETURN
  2026. $ !
  2027. $ PNGMONO_DEV:
  2028. $   IF F$TYPE(png_) .EQS. "" THEN GOSUB LIBPNG_DEV
  2029. $   SETDEV pngmono 'png_'
  2030. $   ADDMOD pngmono  -include libpng
  2031. $   RETURN
  2032. $ !
  2033. $ PNGGRAY_DEV:
  2034. $   IF F$TYPE(png_) .EQS. "" THEN GOSUB LIBPNG_DEV
  2035. $   SETDEV pnggray 'png_'
  2036. $   ADDMOD pnggray  -include libpng
  2037. $   RETURN
  2038. $ !
  2039. $ PNG16_DEV:
  2040. $   IF F$TYPE(png_) .EQS. "" THEN GOSUB LIBPNG_DEV
  2041. $   SETDEV png16 'png_'
  2042. $   ADDMOD png16  -include libpng
  2043. $   RETURN
  2044. $ !
  2045. $ PNG256_DEV:
  2046. $   IF F$TYPE(png_) .EQS. "" THEN GOSUB LIBPNG_DEV
  2047. $   SETDEV png256 'png_'
  2048. $   ADDMOD png256  -include libpng
  2049. $   RETURN
  2050. $ !
  2051. $ PNG16M_DEV:
  2052. $   IF F$TYPE(png_) .EQS. "" THEN GOSUB LIBPNG_DEV
  2053. $   SETDEV png16m 'png_'
  2054. $   ADDMOD png16m  -include libpng
  2055. $   RETURN
  2056. $ !
  2057. $ PSMONO_DEV:
  2058. $   ps_ = "gdevpsim.obj gdevprn.obj"
  2059. $   GOSUB CLIST_DEV
  2060. $   SETDEV psmono 'ps_'
  2061. $   ADD_DEV_MODULES = "''ps_'"
  2062. $   GOSUB ADD_DEV_MOD
  2063. $   RETURN
  2064. $ !
  2065. $ PSGRAY_DEV:
  2066. $   ps_ = "gdevpsim.obj gdevprn.obj"
  2067. $   GOSUB CLIST_DEV
  2068. $   SETDEV psgray 'ps_'
  2069. $   ADD_DEV_MODULES = "''ps_'"
  2070. $   GOSUB ADD_DEV_MOD
  2071. $   RETURN
  2072. $ !
  2073. $ TFAX_DEV:
  2074. $   tfax_ = "gdevtfax.obj gdevprn.obj"
  2075. $   GOSUB CLIST_DEV
  2076. $   GOSUB CFE_DEV
  2077. $   GOSUB LZWE_DEV
  2078. $   GOSUB RLE_DEV
  2079. $   GOSUB TIFFS_DEV
  2080. $   SETMOD tfax 'tfax_'
  2081. $   ADDMOD tfax -include cfe lzwe rle tiffs
  2082. $   ADD_DEV_MODULES = "''tfax_'"
  2083. $   GOSUB ADD_DEV_MOD
  2084. $   RETURN
  2085. $ !
  2086. $ FAXG3_DEV:
  2087. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2088. $   SETDEV faxg3 -include tfax
  2089. $   RETURN
  2090. $ !
  2091. $ FAXG32D_DEV:
  2092. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2093. $   SETDEV faxg32d -include tfax
  2094. $   RETURN
  2095. $ !
  2096. $ FAXG4_DEV:
  2097. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2098. $   SETDEV faxg4 -include tfax
  2099. $   RETURN
  2100. $ !
  2101. $ TIFFS_DEV:
  2102. $   IF F$TYPE(tiffs_) .NES. "" THEN RETURN
  2103. $   tiffs_ = "gdevtifs.obj gdevprn.obj"
  2104. $   GOSUB CLIST_DEV
  2105. $   SETMOD tiffs 'tiffs_'
  2106. $   ADD_DEV_MODULES = "''tiffs_'"
  2107. $   GOSUB ADD_DEV_MOD
  2108. $   RETURN
  2109. $ !
  2110. $ TIFFCRLE_DEV:
  2111. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2112. $   SETDEV tiffcrle -include tfax
  2113. $   RETURN
  2114. $ !
  2115. $ TIFFG3_DEV:
  2116. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2117. $   SETDEV tiffg3 -include tfax
  2118. $   RETURN
  2119. $ !
  2120. $ TIFFG32D_DEV:
  2121. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2122. $   SETDEV tiffg32d -include tfax
  2123. $   RETURN
  2124. $ !
  2125. $ TIFFG4_DEV:
  2126. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2127. $   SETDEV tiffg4 -include tfax
  2128. $   RETURN
  2129. $ !
  2130. $ TIFFLZW_DEV:
  2131. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2132. $   SETDEV tifflzw -include tfax
  2133. $   RETURN
  2134. $ !
  2135. $ TIFFPACK_DEV:
  2136. $   IF F$TYPE(tfax_) .EQS. "" THEN GOSUB TFAX_DEV
  2137. $   SETDEV tiffpack -include tfax
  2138. $   RETURN
  2139. $ !
  2140. $ TIFF12NC_DEV:
  2141. $   tiff12nc_ = "gdevtfnx.obj gdevtifs.obj gdevprn.obj"
  2142. $   GOSUB CLIST_DEV
  2143. $   SETDEV tiff12nc 'tiff12nc_'
  2144. $   ADD_DEV_MODULES = "''tiff12nc_'"
  2145. $   GOSUB ADD_DEV_MOD
  2146. $   RETURN
  2147. $ !
  2148. $ TIFF24NC_DEV:
  2149. $   tiff24nc_ = "gdevtfnx.obj gdevtifs.obj gdevprn.obj"
  2150. $   GOSUB CLIST_DEV
  2151. $   SETDEV tiff24nc 'tiff24nc_'
  2152. $   ADD_DEV_MODULES = "''tiff24nc_'"
  2153. $   GOSUB ADD_DEV_MOD
  2154. $   RETURN
  2155. $ !
  2156. $ VMS_DEV:
  2157. $   vms__ = "gp_nofb.obj gp_vms.obj"
  2158. $   SETMOD vms_ 'vms__'
  2159. $   ADD_DEV_MODULES = "''vms__'"
  2160. $   GOSUB ADD_DEV_MOD
  2161. $   RETURN
  2162. $ !
  2163. $ ADD_DEV_MOD:
  2164. $   II = 0
  2165. $   ADD_MORE:
  2166. $     DEV_NOW = F$EDIT(F$ELEMENT(II," ",ADD_DEV_MODULES),"UPCASE") - ".OBJ"
  2167. $     IF DEV_NOW .EQS. " " THEN RETURN
  2168. $     II = II + 1
  2169. $     ! add delimiters to avoid mistaken identities
  2170. $     ! (e.g., a search for "x11" finding "x11alpha")
  2171. $     IF F$LOCATE(" "+DEV_NOW+" ",DEV_MODULES) .NE. F$LENGTH(DEV_MODULES) THEN -
  2172.         GOTO ADD_MORE
  2173. $     NDEVL = 0
  2174. $  CHECK_LOOP:
  2175. $     IF F$Type(DEV_MODULES'NDEVL') .EQS. "" THEN GOTO ADD_THIS
  2176. $     IF F$LOCATE(" "+DEV_NOW+" ",DEV_MODULES'NDEVL') .NE. -
  2177.         F$LENGTH(DEV_MODULES'NDEVL') THEN GOTO ADD_MORE
  2178. $     NDEVL = NDEVL + 1
  2179. $     IF NDEVL .LE. NDEV_MOD THEN GOTO CHECK_LOOP
  2180. $  ADD_THIS:
  2181. $     DEV_MODULES = DEV_MODULES + DEV_NOW + " "
  2182. $     IF F$Length(DEV_MODULES) .GT. 512
  2183. $      THEN
  2184. $       DEV_MODULES = F$EDIT(DEV_MODULES,"TRIM")
  2185. $       DEV_MODULES = F$EDIT(DEV_MODULES,"COMPRESS")
  2186. $       DEV_MODULES'NDEV_MOD' = DEV_MODULES + " "
  2187. $       NDEV_MOD = NDEV_MOD + 1
  2188. $       DEV_MODULES = " "
  2189. $      ENDIF
  2190. $     GOTO ADD_MORE
  2191. $ !
  2192. $ DONE:
  2193. $ !
  2194. $ IF P1 .EQS. "DEBUG" .OR. P2 .EQS. "DEBUG" THEN GOTO AFTER_DEL
  2195. $ DELETE *.DEV;*
  2196. $ IF F$SEARCH("DEVS.TR")       .NES. "" THEN DELETE DEVS.TR;*
  2197. $ IF F$SEARCH("ECHOGS.EXE")    .NES. "" THEN DELETE ECHOGS.EXE;*
  2198. $ IF F$SEARCH("GENCONF.EXE")   .NES. "" THEN DELETE GENCONF.EXE;*
  2199. $ IF F$SEARCH("GSSETDEV.COM")  .NES. "" THEN DELETE GSSETDEV.COM;*,-
  2200.    GSSETMOD.COM;*,GSADDMOD.COM;*
  2201. $ IF F$SEARCH("JCONFIG.H")     .NES. "" THEN DELETE JCONFIG.H;*,JMORECFG.H;*,-
  2202.    JMCORIG.H;*,JERROR.H;*,JINCLUDE.H;*,JPEGLIB.H;*,JVERSION.H;*
  2203. $ IF F$SEARCH("PNG.H")         .NES. "" THEN DELETE PNG.H;*,PNGCONF.H;*
  2204. $ IF F$SEARCH("ZCONF.H")       .NES. "" THEN DELETE ZCONF.H;*,ZLIB.H;*,-
  2205.    ZUTIL.H;*,DEFLATE.H;*
  2206. $AFTER_DEL:
  2207. $ IF F$LOGICAL("OPT_FILE")     .NES. "" THEN CLOSE OPT_FILE
  2208. $ IF F$LOGICAL("X11")          .NES. "" THEN DEASSIGN X11
  2209. $ !
  2210. $ ! ALL DONE
  2211. $ EXIT
  2212. $ !
  2213. $ NO_ACTION:
  2214. $ !
  2215. $ WSO "No such device routine: ''ACTION'"
  2216. $ GOTO DONE
  2217.